模式1:
网址: domain.com/?sv=g
.htaccess: RewriteRule ^page/([0-9]+)/$ fa/?page=$1
当我使用$_GET['sv']
返回给我g
时。
模式2:
网址: domain.com/page/1/?sv=g
.htaccess: RewriteRule ^page/([0-9]+)/$ fa/?page=$1
当我使用$_GET['sv']
返回给我null
时。
答案 0 :(得分:3)
您需要将QSA
标志添加到RewriteRule中,否则它将不会添加来自请求的任何现有查询字符串参数:
当替换URI包含查询字符串时,RewriteRule的默认行为是丢弃现有的查询字符串,并将其替换为新生成的查询字符串。使用[QSA]标志会导致查询字符串合并。
试试这个:
RewriteRule ^page/([0-9]+)/$ fa/?page=$1 [QSA]
答案 1 :(得分:1)
.htaccess:
RewriteEngine On
RewriteRule ^page/([0-9]+)/$ fa/?page=$1 [QSA]
RewriteRule ^page/([0-9]+)$ fa/?page=$1 [QSA]
阅读本文:https://httpd.apache.org/docs/2.4/rewrite/flags.html#flag_qsa