感谢您抽出宝贵时间阅读我的问题!
我目前拥有一家拥有超过4000个网址的大型电子商务商店。我们正在完成对该网站的全新,重新平台版本的开发,不幸的是,这导致我们所有产品的URL格式发生了变化。
我不太熟悉用于创建RewriteRule以处理下面场景的语法。如果你能帮助我,我将不胜感激!
之情况:
原始网址:http://www.example.com/p-22-some-product-seo-name.aspx
此网址需要转换为...
新网址:http://www.example.com/some-product-seo-name
请注意,需要删除原始网址的第一部分(p-xx-
)。其中xx
是旧网址中使用的产品ID。该ID不总是2位数,长度可以是1-8位,具体取决于产品。
此外,需要从网址末尾删除.aspx
,只留下带连字符的SEO名称。
我尝试过以下(以及它的许多变体),但无济于事!
RewriteRule ^p-([^-]*)-([^-]*)\.aspx$ /$2 [R=301, NC]
答案 0 :(得分:1)
您的表达式应更改为以下内容:
^p-([\d]{1,8})-([\w-]+)\.aspx$
第一次捕获允许1到8位数,第二次捕获允许使用字母数字字符,下划线和连字符。