.htaccess重写和GET参数

皮埃尔

我的重定向有问题。

基本上,我使用页面GET变量来获取页面的名称,例如:index.php?page=page1,我想通过page1.html

然后,如果还有其他get变量,我只想附加它们,如下所示:page1.html?var1=value1指向index.php?page=page1&var1=value1

我尝试了以下方法:

RewriteRule ^([a-zA-Z]+)\.html$  index.php?page=$1  [L]
RewriteRule ^([a-zA-Z]+)\.html\?(.*)$  index.php?page=$1&$2  [L]

而且我似乎从来没有得到任何其他的获取参数,而不是页面变量...
谢谢

杰森·麦克雷里(Jason McCreary)

您需要使用查询字符串追加标志。

根据文档:

当替换URI包含查询字符串时,RewriteRule的默认行为是丢弃现有查询字符串,并将其替换为新生成的查询字符串。使用[QSA]标志会使查询字符串组合在一起。

像这样更新您的规则:

RewriteRule ^([a-zA-Z]+).html$ index.php?page=$1 [L,QSA]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章