301重定向问题

时间:2014-04-29 01:24:52

标签: .htaccess mod-rewrite redirect

我有一个url结构,通过以下方式传递

www.mysite.com/path1/path2/pageA.html - www.mysite.com/newpath/pageA.html
www.mysite.com/path1/path2/path3/pageB.html - www.mysite.com/newpath/path3/pageB.html
www.mysite.com/path1/pageC.html - www.mysite.com/newpath/pageC.html

我已经像这样对传递进行了更改并且它正在运行

RewriteRule ^/newpath/(.*) /path1/path2/$1 [PT,L]
RewriteRule ^/newpath/(.*) /path1/$1 [PT,L]

我还对代码进行了更改,以便在页面中包含新的URL,除了我们需要301重定向到新结构的某些页面

实际位置

www.mysite.com/path1/path2/pageA.html
www.mysite.com/path1/path2/path3/pageB.html

超链接中的URL路径必须301重定向到最终路径URL

www.mysite.com/newpath/path2/pageA.html
www.mysite.com/newpath/path3/pageB.html

最终网址路径

www.mysite.com/newpath/pageA.html
www.mysite.com/newpath/path3/pageB.html

如上所述,我无法使用当前传递的更改创建301重定向。

1 个答案:

答案 0 :(得分:0)

您需要在.htaccess中删除URI匹配模式的前导斜杠:

RewriteRule ^newpath/(.+)$ /path1/$1 [NC,L]