-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はすべてが機能していると報告しましたが、URLに正規表現以上のものがあるように見えたa-zA-Zので、単純に書き直しました

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

魔法をしました。

[^/]+正規表現では、「1回以上繰り返されるスラッシュではない任意の文字」を意味します

于 2012-10-08T17:00:19.553 に答える