我在我的服务器上运行nginx安装程序的多个域名如下:
server { listen 80; server_name domain1.com www.domain1.com; root /var/www/domain1/public_html; index index.php index.html index.html; } server { listen 80; server_name domain2.com www.domain2.com; return 301 https://plusgoogle.com/+somepage; } server { listen 80; root /var/www/other_domains/public_html; index index.php index.html index.html; }
每个服务器块都在其单独的文件(domain1.conf,domain2.conf等)
现在来解决这个问题:
我有点困惑,我可以理解,如果域2将加载其他域的根,但是当我在configuration中一起指定server_name 301与其他域redirect到301?
感谢帮助
更新
你确定你的浏览器没有caching – 我试图打开不同的设备上的网站,我认为corevs的
这些域在现实中是不同的,就像它们在上面的例子中一样 – 是的,实际上我不明白为什么我不给域名:domain1 = tomasdostal.com,domain2 = autodopravadostal.cz,其他域= casull。 info,忘记网站等
第二个服务器块的configuration存在于其他任何地方或者只在这个configuration文件中 – 我设置了100%新的aws实例,所以我非常肯定它只有在那里。
您应该阅读nginx 进程请求的方式 。
在你的情况下,具有未知域的请求将落入默认服务器。 通常是第一个,但可以是任何。 要明确定义默认服务器,您应该在listen
指令中使用default_server
标志。 所以在你应该写的所有其他域的服务器块中:
listen 80 default_server;