使用.htaccess将所有请求重定向到index.php

问题描述:

我正在编写自己的PHP MVC框架。我的网络服务器安装到/ public,我做了一个名为myframework的目录。在这个目录下我有一些子目录,我想将所有请求重定向到myframework/public/index.php,并且我想要请求url。我myframework目录下取得的.htaccess文件象下面这样:使用.htaccess将所有请求重定向到index.php

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.*)$ /myframework/public/index.php?q=$1 [L,QSA] 

它适用于所有请求,但本地主机/ myframework /。这个请求即将到来时,它什么都不做。我该如何解决它?

+0

你在哪里放置htaccess文件?它在公用文件夹内吗?如果是这样,那就把它移动到/ myframework/ – 2015-02-10 13:40:56

+0

不,它在我的框架下。 – 2015-02-10 14:12:36

此行

RewriteCond %{REQUEST_FILENAME} !-d 

说,不重写当请求指向一个真正的目录,这是什么localhost/myframework/请求。把它拿出来,你的重写应该踢进去。