使用.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 /。这个请求即将到来时,它什么都不做。我该如何解决它?
答
此行
RewriteCond %{REQUEST_FILENAME} !-d
说,不重写当请求指向一个真正的目录,这是什么localhost/myframework/
请求。把它拿出来,你的重写应该踢进去。
你在哪里放置htaccess文件?它在公用文件夹内吗?如果是这样,那就把它移动到/ myframework/ – 2015-02-10 13:40:56
不,它在我的框架下。 – 2015-02-10 14:12:36