从回答这个问题的地方继续,
我在我的 .htaccess 文件中使用这个规则:
# Internally forward /map/abc to /location.php?address=abc
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^map/(.*)/?$ /location.php?address=$1 [NC,L]
继续前进,在页面加载后的某个时间点,用户执行 facebook 登录,该登录重定向回此原始页面,但添加了身份验证代码:
map/פבריגט/חולון/ישראל?code=Facebook_Auth
问题是“代码”参数未传递。
我试图在上面提到的第一条规则之前添加这条规则:
#first rule to Internally forward /map to /location.php?address=abc&code=yxz and get code
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^map/(.*)/?(.*)$ /location.php?address=$1&code=$2 [NC,L]
但是对于这个网址:
/map/פבריגט/חולון/ישראל?code=abc
$_GET 数组输出
'address' => string UTF-8 (18) "פבריגט/חולון/ישראל"
'code' => string (0) ""
我应该使用什么规则来拦截“代码”参数?欢迎任何帮助。谢谢 !