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

时间:2015-08-13 04:10:51

标签: wordpress nginx

  • WordPress Multisite
  • Nginx
  • WPMU域名映射器

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

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

所以,如果我只是将一些随机example.com域的A记录设置为我的IP,我会得到一个"欢迎使用Debian上的nginx!"信息。

但我需要它直接转到WordPress目录。

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

编辑:

我尝试将默认目录设置为/var/www/wordpress ---但这似乎无效。

2 个答案:

答案 0 :(得分:1)

您可以在nginx / conf.d / config中使用regex来捕获域:

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的特定选项。

答案 1 :(得分:0)

解决方案很简单:

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 ---您还必须删除default目录中的sites-available文件。它被confd文件中的一行包含在内,并且包含有冲突的default_server行。