我有一个htaccess,它在所有文件的特定文件夹上添加一个lang前缀
htaccess规则
RewriteRule ^fr/folder/(.*)$ /folder/$1?lang=1 [L]
RewriteRule ^en/folder/(.*)$ /folder/$1?lang=2 [L]
根据上述规则,我可以重定向
/en/folder/myscript.php to /folder/myscript.php?lang=1
并且工作正常。
现在我想找到一种方法来添加查询字符串(如果有的话)
例如
/en/folder/myscript.php?id=100 to /folder/myscript.php?lang=1&id=100
我尝试使用下面的代码,但没有运气
RewriteCond %{QUERY_STRING} !^lang=1
RewriteRule ^el/folder/(.*)$ /folder/$1?lang=1&%1 [L]
任何帮助表示感谢。
答案 0 :(得分:2)
查看QSA flag。
如果您使用
RewriteRule ^fr/folder/(.*)$ /folder/$1?lang=1 [L, QSA]
RewriteRule ^en/folder/(.*)$ /folder/$1?lang=2 [L, QSA]
不应覆盖查询字符串。