htaccess删除了GET变量

时间:2016-09-08 15:47:37

标签: php apache .htaccess

我正在编辑脚本,需要读取GET变量才能完成我的工作。但似乎.htaccess文件正在操纵它并删除自定义URL末尾的所有内容。我不知道如何修改apache配置,使其适用于脚本,但我。

Options +FollowSymLinks
RewriteEngine on
RewriteBase /

<IfModule mod_rewrite.c>
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)/(.*)$  index.php?route=$1/$2 [L] 
</IfModule>

<IfModule mod_rewrite.c>
 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule ^(.*)$  index.php?route=$1 [L] 
</IfModule>

以下是我需要调用的网址示例:

http://domain.tld/controller/plugin/function/route?k1=v1&k2=v2

并且$ _GET只包含一个'route'键,其值如下:

controller/plugin/function/route

错过了其他查询字符串。我该怎么做才能拥有它们?

1 个答案:

答案 0 :(得分:2)

您可能希望QSA: Query String Append重写标记符合它所说的内容。

例如:

RewriteRule ^(.*)/(.*)$ index.php?route=$1/$2 [L,QSA]