.htaccess将产品URL重写为根类别

时间:2014-02-05 22:24:07

标签: regex .htaccess mod-rewrite

编写重写规则时遇到问题,我的正则表达式技能有点缺乏,所以我正在阅读教程并处理示例......但似乎无法得到它......

# from /boys/footwear/socks/surfs_up_kids_three-pack_socks/product.aspx?productid=4407&deptid=365
# to  /boys/footwear.html

RewriteRule ^.*boys/footwear/socks/([^/]+)/product\.aspx([^/]+)$ /boys/footwear.html [R=301,L,NC]

我们的想法是匹配任何具有男孩/鞋类/袜子的产品以及在URL中分配给它的product.aspx。虽然我也希望能够根据场景调整它...因为它可能并不总是product.aspx

我第一次做错了什么......因为这是烦人的部分。我已经按照了几十个教程和例子没有运气......我知道它是最小的......

感谢大家的投入!

更新

这可以按照以下方式工作:http://htaccess.madewithlove.be/ (但它在网站上不起作用?)

RewriteRule ^(.*)boys/footwear/socks/(.*)/product.aspx(.*)$ $1boys/footwear/socks.html [R=301,L,NC]

1 个答案:

答案 0 :(得分:0)

不知道重写正则表达式的用法,但由于没有人回答,我想我可能会引导你朝着正确的方向前进。

 # from /boys/footwear/socks/surfs_up_kids_three-pack_socks/product.aspx?productid=4407&deptid=365
 # to  /boys/footwear.html

 RewriteRule ^boys/footwear/socks/([^/]+)/product.aspx([^/]+)$

只需要逃避产品和aspx之间的点 根据需要添加捕获组以组成替换。

 ^.*/boys/footwear/socks/[^/]+/product\.aspx[^/]+$