我已经研究了大约 6 个小时(如果我知道我会花这么长时间我会从头到尾阅读手册以深入学习)并且出于绝望我终于问.
我有一个有两个 Wordpress 网站的客户。
www.myoldsite.com 和 www.mynewsite.com。
www.myoldsite.com 托管在我可以访问 www.mynewsite.com 时无法访问的服务器上。
由于这种限制,我决定使用 www.mynewsite.com 上的 .htaccess 文件来处理特定的 301 重定向并将域 www.myoldsite.com 指向 www.mynewsite。大多数重定向都可以正常工作,但也有一些没有。我知道为什么,但我不知道如何解决它。
For example:
On the www.myoldsite.com they had the page www.myoldsite.com/about-us.
On the new site the new URL is www.mynewsite.com/about-us/what-we-do.
htaccess 文件如下所示:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^mynewsite\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.mynewsite\.com$
RewriteRule /about-us "http\:\/\/mynewsite\.com\/about\-us\/what\-we\-do\/" [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
目前,这会导致递归错误“重定向过多”。如果我将重写规则更改为:
RewriteRule ^/about-us$ "http\:\/\/mynewsite\.com\/about\-us\/what\-we\-do\/" [R=301,L]
URL www.myoldsite.com/about-us 返回 404 /index.php not found。我可以说这是来自 Wordpress。
我只需要 www.myoldsite.com/about-us 使用重定向指向 www.mynewsite.com/about-us/what-we-do。如果有人可以提供帮助,那将是最有帮助的。
谢谢。