【发布时间】:2013-08-26 16:50:03
【问题描述】:
我正在编写一个简单的基于 PHP 的 MVC 框架。我希望这个框架能够安装在任何目录中。
我的 PHP 脚本抓取请求 uri 并将其分成多个段。它使第 1 段成为控制器,第 2 段成为动作。当我这样做时一切正常:
http://www.example.com/mvc/module/test/
它将转到特定的模块控制器和方法。现在我有一个默认控制器,即 home 控制器,它位于 home 文件夹中。
现在当我直接访问这个文件夹时http://www.example.com/mvc/home/
它将显示一个 403 forbidden ,因为这个文件夹确实存在,相反它也应该返回到 http://www.example.com/mvc/index.php
如果我将框架安装在不同的文件夹中,假设文件夹框架必须重定向回http://www.example.com/framework/index.php
我想将每个文件夹和 php 文件重定向回 index.php,其他一切都保持原样。
我遇到的第一个问题是它永远不会重定向到正确的文件夹,总是重定向到域根文件夹。
这是我尝试过的:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
【问题讨论】:
-
只是为了确保我正确理解您的问题:您希望将每个请求重定向到 root
index.php,或者您希望将每个请求重定向到 特定文件夹的index.php? -
到htaccess文件所在的文件夹,框架根目录。在我的示例中回到 mvc 目录
标签: php .htaccess mod-rewrite