我正在编写一个简单的基于 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]