部件号中的正斜杠违反了mod_rewrite规则

时间:2015-03-11 12:00:13

标签: .htaccess mod-rewrite

我有一个简单的mod_rewrite规则

RewriteRule ^product/([^/.]+)/([^/.]+)/?$ product.php?partNumber=$1&partName=$2 [L]

99.99%的产品效果很好,但有3或4种产品的零件编号有正斜杠(例如PART001 / 1)

重写为:

/product/PART001/1/part-name-here-for-nice-seo

显然这不起作用,因为它正在寻找一个额外的目录。我需要正确传递的部件号,因为它用于在数据库中查找索引并获取所有产品的信息。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:0)

看起来您只需要更改正则表达式中的([^/.]+)分组以匹配斜杠。尝试:

RewriteRule ^product/(.+)/([^/.]+)/?$ product.php?partNumber=$1&partName=$2 [L]