试图用mod_rewrite隐藏网址的一部分

时间:2010-08-02 14:53:14

标签: regex .htaccess mod-rewrite url-rewriting

我试图隐藏地址中的部分网址, 因为input type="image"

发送了无用的鼠标坐标

网址为:

www.example.com/search.html?mode=fulltext&query=HelloWorld&ssubmit.x=0&ssubmit.y=0

我想隐藏ssubmit.x和ssubmit.y部分。 我尝试将以下规则添加到.htaccess,但没有成功:

RewriteRule &ssubmit[\.]x=[0-9]+&ssubmit[\.]y=[0-9]+$  [L]

我做错了什么?

1 个答案:

答案 0 :(得分:2)

RewriteRule只能检查URL path,但不能检查查询。您需要使用RewriteCond来检查网址查询,例如:

RewriteCond %{QUERY_STRING} ^(.*&)?ssubmit\.x=0&ssubmit\.y=0(&.*)?$
RewriteRule ^search\.html$ %{REQUEST_URI}?%1%2 [L,R=301]

但是如果 ssubmit.x ssubmit.y 没有进入URL,可能会更好。一种解决方案是省略图像提交按钮的名称。