我在PHP
中使用MVC模式,并以这种方式重写URL:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
现在的问题是,我想使用$_GET
方法,当我在这个字符没有显示在结果中之后使用?
时,例如:
http://localhost/site/register/?Authority=716&Status=NOK
现在重写后的结果是:site/register/
我想有所有的链接使用:
$Authority = $_GET['Authority'];
$Status= $_GET['Status'];
修复的重写规则
RewriteRule ^(.*)$ index.php?url=$1 [PT,L, QSA]
QS标志告诉apache附加现有的查询字符串。
参见https://httpd.apache.org/docs/current/en/rewrite/flags.html#flag_qsa