显然,我的.htaccess重写吞噬了我页面上的所有$_GET
-variables:
当访问URL http://192.168.1.1/welcome/test?getvar=true并在我的index.php文件中运行var_dump($_GET)
时,我得到以下输出:
array
'/welcome/test' => string '' (length=0)
所以没有可用的$_GET
-data,也没有从我的网址中找到getvar
-variable的迹象。
这是我的.htaccess:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
我应该进行哪些更改,以确保重写工作正常,但$_GET
-variables仍可访问?
发布于 2011-07-12 04:56:09
您需要"QueryString Append“选项:
RewriteRule ^(.*)$ index.php?route=/$1 [QSA,L]
编辑:添加@DonSeba的贡献,因为它是正确的。
发布于 2011-07-12 04:57:30
较小的细节更改:
RewriteRule ^(.*)$ index.php?/$1 [L]
至
RewriteRule ^(.*)$ index.php?route=$1 [QSA,L]
现在,所有路由都将在$_GET“路由”中可见。
发布于 2011-07-12 04:54:40
RewriteRule ^(.*)?(.*)$ index.php?/$1&$2 [L]
https://stackoverflow.com/questions/6656413
复制相似问题