我正在尝试让我的网址看起来更干净,使用下面但它不起作用我不知道我是否应该添加其他内容,
这就是它现在的样子
example.com/product.php?product_id=144&product_name=50ml-bottle-with-glasses,-shirt
这就是我希望他们看起来的方式
example.com/product/144/50ml-bottle-with-glasses,-shirt
基本上就是我使用的
RewriteEngine On
RewriteRule ^product/([0-9]+)/([A-Za-z0-9-]+)/?$ product.php?product_id=$1&product_name=$2 [NC,L] # Handle product requests
谢谢
答案 0 :(得分:0)
您的参数product_name
中有逗号。尝试更改.htaccess并在此参数的正则表达式中添加逗号:([A-Za-z0-9-,]+)
。所以你的htaccess将是这样的:
RewriteEngine On
RewriteRule ^product/([0-9]+)/([A-Za-z0-9-,]+)$ product.php?product_id=$1&product_name=$2 [NC,L] # Handle product requests
答案 1 :(得分:0)
这应该有效:
RewriteEngine On
#1)redirect from "/product\.php\?product_id=123&product_name=foo" to "/product/123/foo"
RewriteCond %{THE_REQUEST} /product\.php\?product_id=([^&]+)&product_name=([^\s&]+) [NC]
RewriteRule ^ /product/%1/%2? [NE,L,R]
#2)internally map "/product/123/foo" to "/product\.php\?product_id=123&product_name=foo"
RewriteRule ^product/([0-9]+)/(.+)/?$ product.php?product_id=$1&product_name=$2 [B,NC,L]