重写2个php变量清理url

时间:2014-08-28 14:02:28

标签: php .htaccess mod-rewrite

我有website.co.uk/product.php?id=123456&name=name-of-product

并希望将其重写为:

website.co.uk/product/123456/name-of-product

甚至更好:

website.co.uk/123456/name-of-product

我有这个重写第一个变量$ id

RewriteRule    ^product/([0-9]+)/?$    product.php?id=$1    [NC,L]    

to product / 123456

只需要第二个变量

2 个答案:

答案 0 :(得分:2)

您可以为2参数URI添加另一条规则:

RewriteRule ^product/([0-9]+)/?$ product.php?id=$1 [NC,L,QSA]

RewriteRule ^product/([0-9]+)/([\w-]+)/?$ product.php?id=$1&name=$2 [NC,L,QSA]

答案 1 :(得分:0)

只需匹配另一个变量(根据您的需要更正范围):

RewriteRule    ^product/([0-9]+)/([a-zA-Z0-9-]+)/?$    product.php?id=$1&name=$2    [NC,L]    

如果对正则表达式有疑问,我强烈推荐使用The Regex Coach这个非常小的软件来试验和测试你的表达式。