0

我的 WordPress 网站位于子目录中。我使用 WordPress 的 codex 说明进行了设置,并且一切正常,直到客户要求我添加 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
4

1 回答 1

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

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

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

RewriteCond %{HTTP_HOST} !encoreco\.com
RewriteRule (.*) http://encoreco.com/$1 [R=301,L]
于 2012-10-05T05:26:19.717 回答