2011-10-13 48 views
0

我有一个应该重定向所有请求query.php目录的.htaccess文件,添加请求的文件作为一个GET VAR:的mod_rewrite在.htaccess不工作得到

RewriteEngine on 
RewriteRule ^(.*?)$ query.php?page=$1 

应该正常工作对?除了当我尝试去anyfile.php,query.php的print_r是在$ _GET像这样:

Array ([page] => query.php) 

我喜欢这种感觉,也许有事情做与Apache重写已经重写URL或东西。

总之,我被正确的重定向,但不知何故,GET var被搞砸了。

任何人都可以帮我一把吗?我一直在这个工作了很久,我只是无法弄清楚!

回答

1

不要重新发明轮子,看看别人使用这一目的:

Options -MultiViews 
RewriteEngine On 
# This line checks whether file exists: 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule^index.php [L] 

你会发现一个页面的URI $_SERVER['REQUEST_URI']。交换query.php的index.php,你就完成了。

+0

谢谢 - 这工作很好。 – guywhoneedsahand

0

我很惊讶你没有得到“太多重定向”的错误,说实话。

添加类似于以下内容的RewriteCond应该处理该问题。

RewriteCond %{REQUEST_URI} !^query\.php