.htaccess:在重写中缺失GET变量,怎么解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (10)

很明显,我的.htaccess重写把所有$_GET-我页面上的变量:

访问URL时http://192.168.1.1/迎宾/测试?getvar=true跑步var_dump($_GET)在index.php文件中,我得到了以下输出:

array
'/welcome/test' => string '' (length=0)

所以不$_GET-现有数据,没有任何迹象表明getvar-来自我的URL的变量。

这是我的.htaccess:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

我应该改变什么来确保我的重写工作如预期?

提问于
用户回答回答于

您需要“QueryString附加”选项:

RewriteRule ^(.*)$ index.php?route=/$1 [QSA,L]

添加@DonSeba的贡献。

用户回答回答于

将:

RewriteRule ^(.*)$ index.php?/$1 [L]

改为

RewriteRule ^(.*)$ index.php?route=$1 [QSA,L]

扫码关注云+社区