PHP htaccess从$ _GET获取值

时间:2016-10-04 13:42:41

标签: php apache .htaccess mod-rewrite

我遇到了这个htaccess问题。我需要通过$ _GET [' s']获取搜索输入值,我已经添加了这个 RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?action=$1 到我的htaccess文件,这有助于我得到一个友好的网址,如www.url.com/search/。 但是我想通过搜索表单将另一个$ _GET [']传递给链接,我不想像www.url.com/search/search-text那样添加它们而是我想要的这是:www.url.com/search/?s = search-text。 请问我该如何实现?

1 个答案:

答案 0 :(得分:0)

您需要做的是告诉apache您希望追加查询字符串。最简单的方法是在规则末尾添加以下内容:

RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?action=$1 [L,QSA]

注意,我还添加了您可能想要的L (last)QSA代表查询字符串追加并执行您期望的操作。

当我访问mysite.com/test/?test2=truevar_dump() $_GET时,我看到以下输出:

array (size=2)
  'action' => string 'test' (length=4)
  'test2' => string 'true' (length=4)