所有对同一目录的请求,无论域如何 - NGINX

All requests to same directory, regardless of domain - NGINX

(我认为我的问题有一个非 WP 特定的解决方案。)

指向我服务器 IP 地址的域不会发送到我的 WordPress 站点,除非它们在配置文件中定义或域在 /sites-enabled

中定义

因此,如果我只是将某个随机 example.com 域的 A 记录设置为我的 IP,我会收到一条 "Welcome to nginx on Debian!" 消息。

但我需要它直接进入 WordPress 目录。

而且我需要它在任何人设置域以指向 IP 地址的任何时候发生。那就是 --- 我需要设置配置,以便所有请求都转到 WordPress 目录。

编辑:

我曾尝试将默认目录设置为 /var/www/wordpress --- 但似乎没有用。

您可以在 nginx/conf.d/ 配置中使用正则表达式来捕获域:

server {
    listen 80;
    set $location_root "/var/www/";

    server_name ~^(?<somedomain>[\w-\.]+\.com)$;
    root $location_root/$somedomain;
    include conf.d/wpconf;
}

如果您的域不仅在 *.com 区域,只需修复正则表达式。例如,对于域 site.com,此正则表达式将转至 /var/www/site.com 目录。

注意:包括 conf.d/wpconf 不是必需的,因为我在该文件中存储了 WPsites 的特定选项。

解决方法很简单:

server {
listen 80 default_server;
server_name myprimarydomain.com *.myprimarydomain.com;
server_name_in_redirect off;
root /var/www/wordpress;
.
.
.

如果您遵循 the Nginx/Multisite guide from WPMU --- 您还必须删除 sites-available 目录中的 default 文件。它被包含在 confd 文件中的一行中,并且它包含一个冲突的 default_server 行。