在MVC(php)中重写url时如何使用GET方法


How to use GET method when url rewritten in MVC (php)

我在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