Apache .htaccess |虚荣URL#x27;s导致手动设置$\u GET变量无效

Apache .htaccess |虚荣URL#x27;s导致手动设置$\u GET变量无效,apache,.htaccess,Apache,.htaccess,我有htaccess重写mods来使用虚荣url。我试图手动将$\u GET变量传递到登录页面,告诉用户登录失败,但由于虚荣URL,手动传递的$\u GET变量被忽略。我该如何解决这个问题 这就是我想要通过的 http://mysite.com/login?failed=1 但唯一可行的方法是 http://mysite.com/?p=login&failed=1 这造成了一种明显更丑陋的效果 我的htaccess文件 RewriteEngine On RewriteBase /nc

我有htaccess重写mods来使用虚荣url。我试图手动将$\u GET变量传递到登录页面,告诉用户登录失败,但由于虚荣URL,手动传递的$\u GET变量被忽略。我该如何解决这个问题

这就是我想要通过的

http://mysite.com/login?failed=1
但唯一可行的方法是

http://mysite.com/?p=login&failed=1
这造成了一种明显更丑陋的效果

我的htaccess文件

RewriteEngine On
RewriteBase /ncms/admin
RewriteRule ^([a-zA-Z0-9-]+)$ index.php?p=$1 [L]
RewriteRule ^([a-zA-Z0-9-]+)/$ index.php?p=$1 [L]

将.htaccess代码更改为:

RewriteEngine On
RewriteBase /ncms/admin
RewriteRule ^([a-zA-Z0-9-]+)/?$ index.php?p=$1 [L,QSA]
  • 诀窍是使用QSA(查询字符串追加)标志将
    p=login
    追加到现有查询字符串
  • 正如你所看到的,你的两条规则可以像我建议的那样合并成一条

将.htaccess代码更改为:

RewriteEngine On
RewriteBase /ncms/admin
RewriteRule ^([a-zA-Z0-9-]+)/?$ index.php?p=$1 [L,QSA]
  • 诀窍是使用QSA(查询字符串追加)标志将
    p=login
    追加到现有查询字符串
  • 正如你所看到的,你的两条规则可以像我建议的那样合并成一条