0

我正在使用以下代码将站点重定向到新域:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !newdomain.com$ [NC]
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301] 

代码正在运行,但问题是我想重定向所有子文件夹而不是根目录,例如:

我想重定向:olddomain.com/some-folder -> newdomain.com/some-folder

但不是 olddomain.com -> newdomain

我想用 404 将根目录重定向到 newdomain.com

原因是 newdomain.com 已经存在好几年了,我想关闭 olddomain.com 并将所有文章重定向到新的文章并使用 404 根目录。

如果有人有更好的提议,现在让我来。

谢谢

4

1 回答 1

1

你快到了,但你的 RewriteRule 说匹配 0 个或多个字符 ( *) 并重写,你想要 1 个或多个字符 ( +)。尝试这个:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !newdomain.com$ [NC]
RewriteRule ^(.+)$ http://www.newdomain.com/$1 [L,R=301] 

请记住,您的浏览器可能已经缓存了一些重定向;因此,如果您需要清除缓存或加载另一个浏览器进行测试,请不要感到惊讶。

于 2013-05-11T07:44:35.613 回答