![.htaccess 301 重定向使用正则表达式](https://linux22.com/image/520945/.htaccess%20301%20%E9%87%8D%E5%AE%9A%E5%90%91%E4%BD%BF%E7%94%A8%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F.png)
我正在尝试修复我们旧网站中的许多错误,这些错误与产品页面上与单个产品相关联的多个 URL 有关。
我希望我可以在常规重定向 301 行中使用正则表达式,但到目前为止我似乎无法让它发挥作用。
这是我正在尝试的:
redirect 301 /products/(.*?)/(.*?)/5702/(.*?).html http://mycompany.com/footwear/wolverine-boots-waterproof-durashocks-work-boots-2582-33390.html
有人知道我做错了什么吗?
答案1
这重定向指令不接受正则表达式。你可能想改用的是重定向匹配。
答案2
你可以使用mod_rewrite
类似这样的内容:
RewriteEngine on
RewriteRule ^/products/(.?)/(.?)/5702/(.*).html http://mycompany.com/footwear/wolverine-boots-waterproof-durashocks-work-boots-2582-33390.html [L,R=301]
您可以给出尝试重定向的结构的示例吗?es:/product/aa/bb/1234/aaaaaaaaaaaa.html