php – htaccess如何在url重写后访问/获取搜索参数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – htaccess如何在url重写后访问/获取搜索参数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2116字,纯文字阅读大概需要4分钟。
内容图文
![php – htaccess如何在url重写后访问/获取搜索参数](/upload/InfoBanner/zyjiaocheng/809/514f20e4dda64a08a7f841a33cb4503e.jpg)
我有一个htaccess重写规则,基于提交的表单.我正在尝试阅读搜索参数,这是关键字搜索的一个简单示例,但理想情况下最终会添加更多参数:
单个参数url://thesite.com/search?keyword =示例文本
2参数url://thesite.com/search?keyword = sample text& location = myCity
在我的htacess中,我有一个简单的重写规则寻找搜索,如下所示:
RewriteRule ^.*search?(.*)$/displayPage.php?page=search&options=$1
我像这样访问options参数:
$searchOptions = filter_input(INPUT_GET, "options")!==NULL?filter_input(INPUT_GET, "options"):'';
当我输出这个变量时,它什么都没有.
我尝试了var_dump($_ GET),结果是:
array (size=2)
'page' => string 'search' (length=6)
'options' => string '' (length=0)
用于生成url的html:
<form class="start-search" action="/search" method="get">
<input id='keyword' name='keyword' class="search-str" type="text" value="" placeholder="Start Your Search">
<!-- Meant to hold value for category -->
<input class="search-cat" type="hidden" value="" placeholder="Start Your Search">
<button class="btn" type="submit">
<i class="fa fa-arrow-circle-o-right"></i>
</button>
</form>
我期待$searchOptions包含以下内容:
对于单个参数:keyword =示例文本
对于多个参数:keyword = sample text& location = myCity
我可以根据&分拆字符串.和=并用空格替换.
任何想法为什么没有包括参数?
非常感谢你
更新:应用案例1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^search?(.*)/$displayPage.php?page=search&%1
我的apache日志报告如下:
"GET /search?keyword=test+text HTTP/1.1" 404 286
什么是不正确的?我试过删除?从重写规则,我用/作为提供的样本替换它.我修改了html以包含/之后.当我这样做时,在apache日志中报告了以下内容:
"GET /search/?keyword=test+text HTTP/1.1" 301 329
"GET /search?keyword=test+text HTTP/1.1" 404 286
额外的HTACCESS信息
我已经应用了以下内容
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$/$1 [L,R=301]
我有一堆其他的RewriteRule用于其他功能齐全的网址.这是我的第一个查询字符串,它让我难倒.
UPDATE2
尝试Steve E. [QSA]
RewriteRule ^.*search?(.*)/$displayPage.php?page=search&%1 [QSA]
Apache日志报告
"GET /search?keyword=sample+search HTTP/1.1" 404 286
解决方案:由Steve E提供上面的一个修复程序,在调用displayPage.php之前忘记了/.它适用于单个和多个参数.
内容总结
以上是互联网集市为您收集整理的php – htaccess如何在url重写后访问/获取搜索参数全部内容,希望文章能够帮你解决php – htaccess如何在url重写后访问/获取搜索参数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。