.htaccess RewriteRule保存GET URL参数

时间:2010-11-01 17:00:59

标签: php .htaccess parameters rewrite

在htaccess url重写后,我遇到了保持url参数工作的问题。

我的htaccess重写如下:

 RewriteEngine on
 RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2

这意味着:

domain.com/index.php?lang=en&page=product显示为domain.com/en/product

出于某种原因,当我在网址末尾添加?model=AB123&color=something时,我无法使用$_GET['model']$_GET['color']在php中检索这些参数,即使它们存在于显示的网址。

为什么不传递变量?

1 个答案:

答案 0 :(得分:67)

您需要附加[QSA](查询字符串追加)标记。尝试

RewriteEngine on
RewriteRule ^([a-z]{2,2})/([a-zA-Z0-9_-]+)$ index.php?lang=$1&page=$2 [QSA]

请参阅http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html