【问题标题】:Contents of application folder not accessible in codeigniter在 codeigniter 中无法访问应用程序文件夹的内容
【发布时间】:2014-11-29 14:18:52
【问题描述】:

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

.htaccess 文件:

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

我不知道该往哪个方向看。 事实上,几天前他们工作得很好,我没有对 htaccess 文件进行任何更改。 任何帮助将不胜感激。 谢谢。

【问题讨论】:

    标签: .htaccess codeigniter


    【解决方案1】:

    其中一个更常见的设置是这样的:

    文件结构:

    /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 版本

    【讨论】:

    • 谢谢,这真的很有帮助。重写引擎中的更改和 htaccess 文件中的更改完成了工作。
    猜你喜欢
    • 2023-03-05
    • 2018-05-23
    • 1970-01-01
    • 2013-08-21
    • 2011-12-12
    • 2013-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多