我正在使用 mod_rewrite 向 PHP 发送查询以在 CMS 中进行处理。我的问题:如果查询是目录的名称,则发送到 PHP 的查询将添加到 URL。
这是代码:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule (.*) /process.php\?query=$1 [QSA,NC,L]
所以如果用户输入
http://example.com/lolcats
mod_rewrite 静默重定向到
http://example.com/process.php?query=lolcats
这很棒。但是如果lolcats
是一个目录, mod_rewrite 重定向(不是静默)到
http://example.com/lolcats/?query=lolcats
将查询添加到原始请求的末尾。Apache 仍然提供 PHP 输出,但它会更改用户地址栏中的 URL。
因此,即使查询是目录的名称,我也需要停止将查询添加到请求中。