目前有两个要求
我使用以下方法完成了第1步:
RewriteRule ^olddirectory/(.*)$ newdirectory/$1 [R=301,L]
在第2步中需要帮助
非常感谢任何帮助
答案 0 :(得分:0)
在第一条规则中,您已指定301客户端重定向。这不是强制性的,并且对于每个请求都具有第二次客户端 - 服务器往返的副作用。 如果您不介意浏览器保留旧路径(即site / olddirectory / xxx),您可以简单地重写为:
RewriteRule ^olddirectory/(.*)$ newdirectory/$1
此外,我删除了[L]标志,因为它表示不会进行任何进一步的重写,我认为你想要至少为页面名做另外的重写
如果pagename-3049103 /中的尾随数字总是相同,那就是:
RewriteRule ^/newdirectory/pagename/?$ /newdirectory/pagename-3049103/ [L]
但我怀疑页面名称位于网址,所以它是:
RewriteRule ^/newdirectory/$1/?$ /newdirectory/pagename-$1/ [L]
注意:现在您可以添加[L]标志,因为它是要计算的最后一个规则