1

在 htaccess 以下条目中将旧域停放在我的新站点(域)中:

RewriteCond %{HTTP_HOST} ^(www.)?mynewsite.com$
RewriteRule ^(/)?$ mynewsite.com/index.php [L]
RewriteCond %{HTTP_HOST} ^old\-site\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.old\-site\.com$
RewriteRule ^/?$ "http\:\/\/mynewsite\.com" [R=301,L]

人们会喜欢旧链接吗:old-site.com/support.php、old-site.com/en/index.php、old-site.com/en/support.php、old-site.com/msg/ text.php 当我点击它时出现错误 ERROR 404。

如何将它们重定向到新域上的相同地址?old-site.com/support.php -> mynewsite.com/support.php, old-site.com/en/index.php -> mynewsite.com/en/index.php

4

1 回答 1

1

如果旧站点托管为单独的域(不同的虚拟主机),则在旧站点的.htaccess

RewriteCond %{HTTP_HOST} old\-site\.com$
RewriteRule ^(.*)$ http://mynewsite.com [R=301,L]

然后在新站点的.htaccess

RewriteCond %{HTTP_HOST} ^www.mynewsite.com$
RewriteRule ^(.*)$ http://mynewsite.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.* http://%{HTTP_HOST}/? [R=301,L] 

如果它们都在同一个虚拟主机中(旧域是别名),那么您可以这样做:

RewriteCond %{HTTP_HOST} old\-site\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.mynewsite.com$
RewriteRule ^(.*)$ http://mynewsite.com/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.* http://%{HTTP_HOST}/? [R=301,L]
于 2013-05-28T00:34:53.310 回答