我正在尝试为我的网站创建一个htaccess文件。
我希望当用户输入http://sitename.co.uk/category/productname/?pid=productID时,会显示页面http://sitename.co.uk/product.php?id=productID
因此,类别和产品名称基本上是通配符,可以是任何内容,因为页面由productID提供支持。
我试过写下面但是没有运气......
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+)/(?pid=.*)$ product.php?id=$1 [L,NC]
答案 0 :(得分:1)
你应该可以尝试这样
RewriteCond %{QUERY_STRING} pid=([^&]+)
RewriteRule ^([A-Za-z0-9-]+)/([A-Za-z0-9-]+) /product.php?id=%1
%1是RewriteCond的反向引用。 $ 1是RewriteRule的后向引用。
答案 1 :(得分:0)
您需要从pid
获取RewriteCond
参数的值,因为RewriteRule
不匹配查询:
RewriteCond %{QUERY_STRING} ^pid=([^&]+) [NC]
RewriteRule ^([\w-]+)/([\w-]+)/?$ product.php?id=51 [L,NC,QSA]