所以我有一个用户名的重写规则,如下所示
RewriteEngine On
RewriteBase /test/
Options FollowSymLinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/?([A-Z0-9a-z\~\^\(\)_\-\+\{\}\[\]\|:\<\>\.]+)$ index.php?user=$1 [L]
这个工作正常,我可以回显$ _GET ['user']没问题。当我将另一个变量添加到重写规则时,会出现问题,如下所示 -
RewriteRule ^/?([A-Z0-9a-z\~\^\(\)_\-\+\{\}\[\]\|:\<\>\.]+)$/?extra$ index.php?user=$1&system_page=extra [L]
我希望能够使用“extra”的结果转到http // localhost / test / username / extra和echo $ _GET ['system_page'],但我收到404错误。
对此的任何帮助都非常感激。
答案 0 :(得分:1)
好的,想通了。对于遇到相同问题的任何人,解决方案是在用户名定义后删除“$”。
RewriteRule ^/?([A-Z0-9a-z\~\^\(\)_\-\+\{\}\[\]\|:\<\>\.]+)$/?extra$
应该是 -
RewriteRule ^/?([A-Z0-9a-z\~\^\(\)_\-\+\{\}\[\]\|:\<\>\.]+)/?extra$