这应该很简单,但我无法解决问题 . 我相信这对某人来说是个秒钟的答案 .
我在htaccess文件中重写如下:
RewriteCond %{THE_REQUEST} \ /product\.php\?categoryfilename=([A-Za-z0-9-%.]+)&category=([A-Za-z0-9-%.]+)&id=([A-Za-z0-9-]+)
RewriteRule ^ /%3-P.html? [R=301,L]
重写有效如果我输入:
www.mysite.co.uk/product.php?categoryfilename=all-products.php&category=All%20products&id=MY-PRODUCT
它重定向到:
http://www.mysite.co.uk/MY-PRODUCT-P.html
那我应该是一个简单的重定向:
重定向301 /MY-PRODUCT-P.html http://www.mysite.co.uk/MY-PRODUCT-123-P.html?
这应该是一个静态重定向,但它附加一个讨厌的?到结果的最后 .
如果我删除?从重定向结束然后我得到第一个重写中原始凌乱路径名左侧的PHP变量
非常感谢
1 回答
您无法使用
Redirect
指令匹配或操作QUERY_STRING
. 请改用mod_rewrite . 将此代码放在DOCUMENT_ROOT/.htaccess
中: