我已经在sites-enabled / domain.tld文件中定义了4个不同的主机名。 每个文件都是以下列方式:
#Redirect everything to the main site. server { server_name *.abc.net; listen 80; root /var/www/vhosts/abc.net/httpdocs; if ($http_host != "acb.net") { rewrite ^ http://abc.net$request_uri permanent; } include /etc/nginx/conf.d/restrictions.conf; #Additional rules go here. # Only include one of the files below. include /etc/nginx/conf.d/wordpress.conf; # W3 Total Cache Rules include /var/www/vhosts/abc.net/httpdocs/nginx.conf; }
站点启用的文件夹中的每个服务器块只会更改域名,所以abc.net会变成xyz.com等等。
问题是,不pipe所有这些configuration文件到位,所有的虚拟主机只是redirect到一个虚拟主机。 我已经尝试重新启动nginx服务器,重新加载它,并重新启动服务器。
这些请求被发送到上游php,运行PHP-FPM,如果有帮助的话,所有的域都在运行wordpress。
感谢你的帮助。 谢谢 :)
尝试更改每个虚拟主机中的server_name块
server { ... server_name example.com *.example.com; ... }
或者按照nginx的build议
server { listen 80; server_name *.example.com; return 301 http://example.com$request_uri; } server { listen 80; server_name example.com; ... your config removing the if part ... }
所以…
if ($http_host != "acb.net") { rewrite ^ http://abc.net$request_uri permanent; }
是包含在每个虚拟主机块? 还是你记得在这里把主机名改成适当的值?
如果没有,那会解释很多:-)