快速ModRewrite和GET问题

时间:2010-11-09 11:30:46

标签: php apache .htaccess mod-rewrite get

如果设置了$ _GET ['success'],我正在尝试返回成功通知。如果我这样输入它就可以正常工作:mail?inbox& success

但是如果我这样输入它,我试图让它工作:mail / inbox / success或mail / inbox& success

我对mod_rewrite不太熟悉,但我还没有找到解决方案,所以我在这里问。如何使用上面的示例?这就是.htaccess现在的样子:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^user/([^/]*)$ /userinfo?name=$1 [L]
RewriteRule ^items/([^/]*)$ /items?weapon=$1 [L]
RewriteRule ^mail/inbox /mail?inbox [L]
RewriteRule mail/(.*)/(.*)$ /mail?read=$2

1 个答案:

答案 0 :(得分:1)

你可以改变

RewriteRule ^mail/inbox/ /mail?inbox [L]

RewriteRule ^mail/inbox/(.*) /mail?inbox&$1 [L]

取决于您想要重写的其他组合。 添加行

RewriteRule ^mail/inbox/success /mail?inbox&success [L]

在第一条规则之前也应该这样做,但仅限于这一情况,并可能影响其他规则。