1

mod_rewrite を実行すると URL パラメータが失われますが、その理由がわかりません...

ローカリゼーションのために、国コードを URL に追加する必要がありました。だから私の古いURL:

元の URL:

www.domain.com/mail_confirmation.php?id=222 

今のように見える

www.domain.com/us/mail_confirmation.php?id=222

Mod の書き換えは次を呼び出す必要があります。

www.domain.com/mail_confirmation.php?id=222?country=us

そして、これは私が助けを必要としているルールです。それは私が期待していることをしませんし、途中でパラメータを失います:

RewriteRule ^([a-zA-Z]{2})/(.+)\?(.+) $2?$3&country=$1

影響している可能性のある別のルールは、ファイルの最初にある次のルールです。

RewriteRule ^([a-zA-Z]{2})/?$  index.php?pais=$1

ここに間違いはありますか?よろしくお願いします!

4

1 に答える 1

2

あなたのRewriteRuleニーズは

RewriteRule ^([a-zA-Z]{2})/(.+)$ $2?country=$1 [QSA,L]

内での照合には URL パラメータを使用できないことに注意してくださいRewriteRule[QSA]単に追加の URL パラメーターを追加する必要がある場合は、元の URL パラメーターの追加を処理するフラグと一緒に追加できます。

于 2013-10-05T15:54:07.643 に答える