这是我为我的MVC设置的htaccess。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>
因此,对 localhost / users / 的任何请求都将重定向到 localhost?url = users /
但是当网址中有一些获取数据时,例如: localhost / users /?msg = hello
我错过了$ _GET ['url']中的?msg = hello 。是否可以重定向到 localhost / users / msg = hello /
之类的内容答案 0 :(得分:4)
使用"QueryString Append"
选项,
RewriteRule ^(.*)$ index.php?route=/$1 [QSA,L]
答案 1 :(得分:0)
你要做的事情会非常复杂。作为替代方案,您可以尝试以下方法:
RewriteRule ^(.*)$ index.php/$1 [PT,L]
使用该规则时,您可以通过$ _SERVER ['REQUEST_URI']访问该网址。
您丢失get参数的原因是服务器使用两个“?”创建URL。例如:
http://localhost/?url=users/?msg=123