我正在编写一个PHP Web应用程序,它能够在将请求的资源返回给客户端之前对其进行分析。所以我使用了以下配置的.htaccess:
RewriteEngine on
RewriteRule ^(.*)$ query.php?res=$1
query.php的代码是
<?php
if(isset($_GET['res']))
echo "Requested resource " . $_GET['res'];
else
echo "No resource requested"; ?>
这两个文件放在同一目录中。但问题出在任何URL上,结果总是“请求的资源是query.php”。你能告诉我什么是错的吗?我该怎么办?
提前致谢!
答案 0 :(得分:1)
只需在重写规则中添加[L]
标志即可解决问题。我的猜测是你可能还需要一个[QSA]
。
所以将.htaccess更改为:
RewriteEngine on
RewriteRule ^(.*)$ query.php?res=$1 [L,QSA]
See this page解释可用的标志及其作用。