我正在尝试在php中构建一个自定义mvc框架,其文件夹结构在我的localhost中是这样的。
在这个.htaccess文件中,我重定向公共文件夹中的所有请求,此.htaccess文件中的代码如下所示
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>
以下是我的公共文件夹内容
在这个htaccess中,我正在检查请求的uri是不是该文件夹中的文件夹或文件,然后将该请求传递给index.php,而index.php依次对控制器和操作等进行url处理。其代码如下
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %[REQUEST_FILENAME] !-f
RewriteCond %[REQUEST_FILENAME] !-d
RewriteRule ^(.*)$ index.php [PT,L]
</IfModule>
一切正常,除非我尝试在mod目录中使用任何css文件,js,image或任何php文件(我通过ajax调用这些文件)它仍然将该请求传递给index.php,它再次尝试定位他们作为控制者等。
所以,任何人都可以告诉我我做错了什么,我该如何解决这个问题。我仍然不完全理解重写规则和条件,所以我可能在我的规则中做错了。
谢谢你, 安查尔巴尔加瓦