我的.htaccess文件中有以下配置:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L,QSA]
这应该将查询重定向到index.php并且正在执行此操作但是丢失了查询字符串信息。
例如,如果我要求:
http://example.com/hello/user?name=stackoverflow
如果我打印$_REQUEST
变量或$_GET
变量,我没有得到任何值。如果我检查$_SERVER['QUERY_STRING]
我没有任何价值,但在REQUEST_URI
我得到:/hello/user?name=stackoverflow
。
仅供参考:这是一个LAMP堆栈
我觉得我的.htacccess
不正确,如果我这样做:http://example.com/hello/test.php?name=stackoverflow
我可以看到查询字符串的信息(在$_SERVER
,$_REQUEST
,$_GET
上)。
关于为什么.htaccess配置错误的任何想法?