htaccess变量不能与用户名一起使用

时间:2013-11-29 21:16:12

标签: php .htaccess mod-rewrite get

所以我有一个用户名的重写规则,如下所示

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错误。

对此的任何帮助都非常感激。

1 个答案:

答案 0 :(得分:1)

好的,想通了。对于遇到相同问题的任何人,解决方案是在用户名定义后删除“$”。

RewriteRule ^/?([A-Z0-9a-z\~\^\(\)_\-\+\{\}\[\]\|:\<\>\.]+)$/?extra$

应该是 -

RewriteRule ^/?([A-Z0-9a-z\~\^\(\)_\-\+\{\}\[\]\|:\<\>\.]+)/?extra$