我有这个网址:
example.com/en/hk/myAccount?Ref=CC0000008
我的.htaccess看起来是这样的:
Options +SymLinksIfOwnerMatch
RewriteEngine On # Turn on the rewriting engine
RewriteRule ^(chin|en)/(hk|kw)/myAccount/?$ user_account.php?lang=$1&loc=$2& [NC,L] #SHOW USER ACCOUNT
所以我现在想得到在url上传递的变量ref
,但当我print_r
变量$_GET
时,我只得到.htaccess
文件中的变量。
我该怎么办?
您需要添加QSA
标志
Options +SymLinksIfOwnerMatch
RewriteEngine On
RewriteRule ^(chin|en)/(hk|kw)/myAccount/?$ user_account.php?lang=$1&loc=$2 [QSA,NC,L]
输出:
Array ( [lang] => en [loc] => hk [Ref] => CC0000008 )
标志QSA
意味着,如果有一个查询字符串与原始URL一起传递,则将其附加
标志L
表示,如果规则匹配,则不再处理低于此规则的任何规则。
标志NC
表示不区分大小写,也就是说,它不在乎字母在匹配的URI中是以大写还是小写出现。
Apache重写规则标志