htaccess不会将请求重定向到特定的文件夹和文件

时间:2017-09-01 01:31:50

标签: php apache .htaccess mod-rewrite url-rewriting

我正在尝试在php中构建一个自定义mvc框架,其文件夹结构在我的localhost中是这样的。

  • 控制器(DIR)
  • 模型(DIR)
  • 视图(DIR)
  • 库(DIR)
  • 配置(DIR)
  • 郎(DIR)
  • 公共
  • 的.htaccess

在这个.htaccess文件中,我重定向公共文件夹中的所有请求,此.htaccess文件中的代码如下所示

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>

以下是我的公共文件夹内容

  • CSS(DIR)
  • JS​​(DIR)
  • 图像(DIR)
  • MOD(DIR)
  • 的index.php
  • 的.htaccess

在这个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,它再次尝试定位他们作为控制者等。

所以,任何人都可以告诉我我做错了什么,我该如何解决这个问题。我仍然不完全理解重写规则和条件,所以我可能在我的规则中做错了。

谢谢你, 安查尔巴尔加瓦

0 个答案:

没有答案