如何使用 mod_rewrite 删除 ? (问号)在 URL 中?

Roo*_*ook 1 mod-rewrite apache-2.2

如何使用 mod_rewrite 删除 ? (问号)在 URL 中?

例如:

http://127.0.0.1/ALL_FILES.php?test=1
Run Code Online (Sandbox Code Playgroud)

mod_rewrite 后:

http://127.0.0.1/ALL_FILES.php
Run Code Online (Sandbox Code Playgroud)

对于 php,这意味着 $_GET 超级全局变量将始终为空。

Jam*_*ley 5

引用mod_rewrite文档:

模式将不会与查询字符串匹配。相反,您必须使用带有 %{QUERY_STRING} 变量的 RewriteCond

类似的东西:

 RewriteCond %{QUERY_STRING} .
 RewriteRule ^/index.php /index.php? [L,R]
Run Code Online (Sandbox Code Playgroud)

应该做你需要的。如果您不关心向用户显示的内容,而只关心传递给 php 的内容,则可以省略 R 标志。

  • 将重写行更改为: RewriteRule ^(.*)$ $1 [L,R] (3认同)