我有类似
的东西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]
答案 0 :(得分:1)
OP报告一切正常,但似乎URL中有a-zA-Z
个正则表达式,所以只需重写
RewriteRule ^error/([^/]+)$ index.php?login_error=$1 [QSA]
做了神奇的事。
正则表达式中的 [^/]+
表示“任何不是斜线重复1次或更多次的字符”