-2

我有类似的东西

header('Location:index.php?login_error='.urlencode($error));

我想成功

header('Location:error/'.urlencode($error));

使用重写。我使用的规则是

RewriteRule ^error/([a-zA-Z]+)$ index.php?login_error=$1 [QSA]

但它不工作可以有人请指导。任何帮助将不胜感激。

.htaccess 文件

RewriteEngine On

RewriteRule ^login/?$ index.php [NC,L]
RewriteRule ^home/?$ home.php [NC,L]
RewriteRule ^logout/?$ logout.php [NC,L]
RewriteRule ^error/([a-zA-Z]+)$ index.php?login_error=$1 [QSA]  
4

1 回答 1

1

OP 报告一切正常,但似乎a-zA-ZURL 中的正则表达式不止于此,因此只需简单地重写为

RewriteRule ^error/([^/]+)$ index.php?login_error=$1 [QSA]

做了魔术。

[^/]+在正则表达式中的意思是“任何不是斜线重复1次或多次的字符”

于 2012-10-08T17:00:19.553 回答