0

我的服务器上运行的站点很少。我希望所有站点都从 www 更改为 non-www 除了一个站点www.abc-xyz.org。所以我先写了具体的规则,然后是通用的。但它不工作。当我试图www.abc-xyz.org在浏览器中打开它时,它会进入无限循环。

我的 .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>
4

1 回答 1

1

循环正如预期的那样,因为页面一直在加载。您要做的是删除第一个重定向,并在第二个重定向中添加“非”条件。

RewriteCond %{HTTP_HOST} !^www\.abc-xyz\.org [NC]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
于 2012-11-30T12:06:32.140 回答