301重定向到更改的URL

时间:2016-03-15 14:28:43

标签: php apache .htaccess redirect mod-rewrite

我需要更改我的网站的域名,我将使用永久重定向301.我发现.htaccess上的这个设置将完成这项工作:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://www.new-example.com/$1 [L,R=301,NC]

但我还需要将所有网址结构从fiddle更改为http://www.new-example.com/old/this-is-url1.html

规则必须仅影响其别名中包含目录old的网址:www.new-example.com/old /...

并将其重定向到没有目录old的网址:www.new-example.com /

你能否告诉我在.htaccess上必须使用什么重定向规则来实现这一目标?

1 个答案:

答案 0 :(得分:0)

使用此规则替换显示的代码:

RewriteEngine on

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

在测试此更改之前清除浏览器缓存。