具有一个固定参数的 htaccess 不起作用?
htaccess with one fixed parameter not working?
我正在尝试用 1 个固定参数重写 URL。
localhost/login
localhost/signup
至
localhost/account.php?action=log
localhost/account.php?action=reg
它用这个很好用
RewriteRule ^login$ account.php?action=log [NC,L]
RewriteRule ^signup$ account.php?action=reg [NC,L]
但是当我添加 Google oauth
它 returns 像这样 URL
localhost/login?code=.....
所以我改成了
RewriteRule ^login?(.*)$ account.php?action=log&code= [NC,L]
但我无法通过 $_GET['code']
获取代码变量
和 var_dump($_GET)
returns
array(2) { ["action"]=> string(3) "log" ["code"]=> string(0) "" }
RewriteRule 仅匹配 URL 的路径组件,您不能用它检查查询字符串,这需要 RewriteCond。
但是除了已经存在的 ^login$
重定向之外,您不应该 需要 任何东西 - 只需添加 QSA
标志,以便原始查询字符串与您现有的合并。
RewriteRule ^login$ account.php?action=log [QSA,NC,L]
我正在尝试用 1 个固定参数重写 URL。
localhost/login
localhost/signup
至
localhost/account.php?action=log
localhost/account.php?action=reg
它用这个很好用
RewriteRule ^login$ account.php?action=log [NC,L]
RewriteRule ^signup$ account.php?action=reg [NC,L]
但是当我添加 Google oauth 它 returns 像这样 URL
localhost/login?code=.....
所以我改成了
RewriteRule ^login?(.*)$ account.php?action=log&code= [NC,L]
但我无法通过 $_GET['code']
获取代码变量
和 var_dump($_GET)
returns
array(2) { ["action"]=> string(3) "log" ["code"]=> string(0) "" }
RewriteRule 仅匹配 URL 的路径组件,您不能用它检查查询字符串,这需要 RewriteCond。
但是除了已经存在的 ^login$
重定向之外,您不应该 需要 任何东西 - 只需添加 QSA
标志,以便原始查询字符串与您现有的合并。
RewriteRule ^login$ account.php?action=log [QSA,NC,L]