我正在使用以下代码将网站重定向到新域名:
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重定向。
如果有人有更好的主张,请立即让我。
谢谢
答案 0 :(得分:1)
你几乎就在那里,但你的RewriteRule表示匹配0个或更多字符(*
)并重写,你需要1个或更多个字符(+
)。试试这个:
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !newdomain.com$ [NC]
RewriteRule ^(.+)$ http://www.newdomain.com/$1 [L,R=301]
请记住,您的浏览器可能已经缓存了一些重定向;因此,如果您需要清除缓存或加载其他浏览器进行测试,请不要感到惊讶。