使用WordPress在子目录中添加301重定向时,.htaccess无限循环错误

时间:2012-10-05 04:54:28

标签: .htaccess

我的WordPress网站位于子目录中。我使用WordPress编解码器方向进行设置,一切运行良好,直到客户端要求我添加301重定向来解决某些链接到Internet上旧域的问题。旧域名指向新网站,但不使用永久301重定向。目前的域名是Encoreco.com。

旧域指向同一个地方,但它不是301重定向(您可以看到URL在顶部没有变化,出于某种原因,这意味着我的javascript幻灯片不起作用)。以下是发生的情况:encoreconstructionco.com

当我添加301重定向来解决此问题时,我得到无限循环错误。以下是尝试使用旧域解决问题但创建无限循环的代码行:

RewriteRule (.*) http://encoreco.com/$1 [R=301,L]

这是我目前的.htaccess:注意 - 我尝试将.html重写和www重写,但没有解决问题。

RewriteCond %{THE_REQUEST} \.html
RewriteRule ^(.*)\.html$ /$1 [R=301,L]

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

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

1 个答案:

答案 0 :(得分:0)

RewriteRule (.*) http://encoreco.com/$1 [R=301,L]

...将重定向所有内容,包括正确的请求,因此您必须获得无限重定向。

仅将该规则限制为错误的主机名:

RewriteCond %{HTTP_HOST} !encoreco\.com
RewriteRule (.*) http://encoreco.com/$1 [R=301,L]