我有一个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重定向。
答案 0 :(得分:0)
您需要在.htaccess中删除URI匹配模式的前导斜杠:
RewriteRule ^newpath/(.+)$ /path1/$1 [NC,L]