我想帮助为以下类型的网址创建htaccess 301重定向。
总共有大约500个左右的产品,而不是为每个网址写一个重定向,这将是非常笨重和耗时,我希望有一个更简单的方法,我还没有找到创建一种正则表达式匹配?
OLD:http://www.example.co.uk/test-product-name-slug/prod_233.html
新:http://www.example.co.uk/test-product-name-slug-233.html
可以通过浏览到..... example.co.uk/-223.html来访问新的URL ......然后重写为..... example.co.uk/test-产品名称 - 蛞蝓-233.html
所以看起来我需要一种方法来检测传入的访问者是否来到一个包含prod_id并重定向到-id的URL
我希望一切都有道理。
答案 0 :(得分:0)
希望这就是你要找的东西。它只匹配
中的1个目录 /some-product_name-random/prod_9393.html
=> /some-product_name-random-9393.html
<强>的.htaccess 强>
RewriteEngine on
RewriteBase /
RewriteRule ^([a-zA-A-_]+)/prod_([0-9]+)\.html$ /$1-$2.html [R=301,L,QSA]
正则表达式和参数说明
([a-zA-A-_]+)
匹配产品名称$1
prod_([0-9]+)
匹配产品ID $2
[R=301]
301永久重定向
[L]
停止.htaccess脚本(可能会被移除,但在针对不同场景使用多个规则时,通常是针对特定规则的良好做法)
[QSA]
保留查询字符串domain.com/somepath/page.html?querystring=value&otherstuff
(?...
)