codeigniter中无法访问的应用程序文件夹的内容

时间:2014-11-29 14:18:53

标签: .htaccess codeigniter

我无法访问应用程序内部的文件(images,css)和codeigniter的根文件夹。我检查了权限和链接。一切似乎都很好,但在尝试加载文件时出现404错误。我甚至试图直接加载链接。 所有文件似乎都是从资源加载而不是从根文件夹或应用程序文件夹加载。

.htaccess文件:

RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

我不确定要查看的方向。 事实上,几天前他们工作正常,我还没有对htaccess文件进行任何更改。 任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:2)

其中一个比较常见的设置就是这样:

Filestructure:

/docroot
  - /assets
    + /css
    + /js
    + /img
  + application
  + system
  * .htaccess
  * index.php

.htaccess(v1):

RewriteEngine on
RewriteCond $1 !^(index\.php|images|assets|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]

或更灵活的方式:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php?/$1 [L]

现在在你的标记中你需要加载:

<link rel="stylesheet" href="/assets/css/whatever.css"></link>
<script src="/assets/js/bla.js"></script>
<img src="/assets/img/logo.png" alt="Nice Logo">

对于在应用程序文件夹中无法访问的文件,由于该文件夹中的.htaccess文件一般拒绝所有访问。防止意外的文件曝光。
如果您想直接在docroot中访问文件,则必须更改为第二个.htaccess版本