2010-02-16 119 views
1

我有一个域example.com和“替代”some-example.com。我试图从some-example.com直接流量example.com在使用nginx的一个简单的服务器的声明如下:Nginx服务器匹配太多的URL

server { 
    listen 80; 
    server_name some-example.com; 
    rewrite ^/(.*) http://example.com/$1 permanent; 
} 

我不是100%肯定,如果这是正确的规则,但我有另一个虚拟主机上服务器,这不是问题所在,但有必要了解我遇到的问题。

server { 
    listen  8745; 
    server_name localhost; 
    <other stuff goes here> 
} 

打到<my server IP>:8745将去那个虚拟主机,按预期工作。不过我有另一虚拟主机是这样的:

server { 
    listen  8746; 
    server_name localhost; 
    <other stuff goes here> 
} 

但是我所有的要求,以<my server IP>:8746example.com。我很困惑,我没有真正理解nginx,所以任何帮助,将不胜感激,为什么发生这种情况。我在开始时就提到过这个规则,因为我认为它与此有关。如果需要更多信息,我可以提供。

(同样,这会为服务器故障是更好吗?)

+0

如果删除该重写规则,它是否可以解决问题?此外,我想你将不得不提供更多的信息(完整的配置文件(S)) – 2010-02-19 13:01:27

+0

这是在ServerFault上回答(嗯,我想通了)。看到这里:http://serverfault.com/questions/113199/nginx-server-matching-too-many-urls它必须与Wordpress反弹URL到我的IP端口80.我应该提到它运行Wordpress。 – Zack 2010-02-21 17:12:18

回答

0

我问这对服务器故障也,但是我发现我自己的原因。以下摘录摘自this question

事实证明,这不是一个nginx 问题。我大概应该注意到, <my server IP>:8746运行Wordpress 安装; WordPress的有一个选项 集(在wp_options表,行 有我的2 option_id和 的siteurloption_name)到<some domain>.com,我改变了对<some domain>.com:8746它工作得很好。