如何将子文件夹重定向到新域而不是root?

时间:2013-05-11 07:40:27

标签: .htaccess

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

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

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

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

但不是 olddomain.com - > NEWDOMAIN

我想用404将root重定向到newdomain.com

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

如果有人有更好的主张,请立即让我。

谢谢

1 个答案:

答案 0 :(得分:1)

你几乎就在那里,但你的RewriteRule表示匹配0个或更多字符(*)并重写,你需要1个或更多个字符(+)。试试这个:

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

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