2012-11-30 85 views
0

我的服务器上运行的网站很少。我希望所有网站从www改为非www,除了一个网站www.abc-xyz.org。所以我写了特定的规则,然后是通用的。但它不起作用。当我试图在浏览器中打开www.abc-xyz.org时,它会进入一些无限循环。将所有www重定向到非www网站,除了一个网站

我的.htaccess文件

Options +FollowSymLinks +ExecCGI 

<IfModule mod_rewrite.c> 
RewriteEngine On 

RewriteCond %{HTTP_HOST} ^www\.abc-xyz\.org [NC] 
RewriteRule ^(.*)$ http://www.abc-xyz.org/$1 [R=301,L] 

#Generic redirect www to non-www 
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 
</IfModule> 

回答

1

循环是象预期的那样在页面不断加载。你想要做的是放弃第一个重定向,并在第二个添加“不”条件。

RewriteCond %{HTTP_HOST} !^www\.abc-xyz\.org [NC] 
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 
+0

工程就像一个魅力。谢谢罗比。 –

相关问题