【问题标题】:Htaccess search redirect with query parameters带有查询参数的 Htaccess 搜索重定向
【发布时间】:2013-08-22 07:55:09
【问题描述】:

我在我的网站上的搜索工作方式遇到了问题,我在这里找不到这个问题的一个很好的例子。当用户提交空搜索时,搜索无法正常工作。但是,如果我在搜索参数中添加一个加号,搜索工作正常;即使搜索为空。我在想我可以使用 htaccess 来解决这个问题。到目前为止,这是我所得到的:

RewriteCond %{QUERY_STRING} ^s=$
RewriteRule ^ /?s=+ [L,R=301]

如果网址是这样的,这很好用:

http://mysite.com/?s=

但是,我的搜索查询通常看起来像:

http://mysite.com/?s=&zipcode=XXXXX&submit=Submit

其中 XXXXX 是邮政编码。有没有办法让这个重定向触发,即使 ?s= 参数后面有额外的参数,同时仍然保留额外的参数(例如,我不想在重定向时丢失 zipcode 参数)?

感谢您的收看!

【问题讨论】:

    标签: .htaccess redirect mod-rewrite rewrite


    【解决方案1】:

    试试:

    RewriteCond %{QUERY_STRING} ^s=($|&.*$)
    RewriteRule ^ /?s=+%1 [L,R=301]
    

    表达式($|&.*$) 创建一个分组,该分组可以是查询字符串的结尾,也可以是& 后跟任何内容。此分组使用规则中的%1 进行反向引用。

    【讨论】:

    • 完美运行!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 2022-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-18
    • 2018-01-22
    相关资源
    最近更新 更多