Apache .htaccess重写并获取参数

Apache .htaccess重写并获取参数,apache,.htaccess,mod-rewrite,Apache,.htaccess,Mod Rewrite,我的重定向有问题 基本上,我使用page 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]

我的重定向有问题

基本上,我使用page 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]
除了页面变量之外,我似乎从未获得任何其他get参数…
谢谢

您需要使用该标志

根据文件:

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

按如下方式更新您的规则:

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