1

我在做 mod_rewrite 时丢失了 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. 如果您只需要附加一个额外的 URL 参数,您可以与[QSA]标志一起为您附加原始 URL 参数。

于 2013-10-05T15:54:07.643 回答