我的网站搜索工作方式遇到了问题,我在这里找不到这个问题的好例子。当用户提交空搜索时,搜索无法正常运行。但是,如果我在搜索参数中加一个加号搜索工作正常;即使搜索是空的。我以为我可以使用htaccess来解决这个问题。这是我到目前为止所得到的:
RewriteCond %{QUERY_STRING} ^s=$
RewriteRule ^ /?s=+ [L,R=301]
如果网址如下,则可以正常工作:
但是,我的搜索查询更常见:
XXXXX是邮政编码。是否有办法允许此重定向触发,即使在?s =参数后面还有其他参数,同时仍保留其他参数(例如,我不想在重定向上丢失zipcode参数)?
谢谢你的期待!
答案 0 :(得分:1)
尝试:
RewriteCond %{QUERY_STRING} ^s=($|&.*$)
RewriteRule ^ /?s=+%1 [L,R=301]
表达式($|&.*$)
创建一个分组,该分组可以是查询字符串的结尾,也可以是&
,后跟任何内容。使用规则中的%1
对此分组进行反向引用。