codeigniter - 将图像,css,js,视频(Web资源)加载到html中


codeigniter - Loading images, css, js, video, (web resources) into your html

我正在我的第一个CodeIgniter项目中工作...

在构建了我的大部分 PHP 并开始玩几乎完成的 scrip 之后,我意识到.htaccess拒绝了对application/views/文件夹的所有访问。

当我想访问特定于页面的JavaScript,图像或任何Web资源文件夹时,这对我的文件结构来说是一个巨大的问题。由于我所有的views template都假设该文件在本地使用(也就是说Page_name/images/cutedog.jpg,在我的代码中更准确地说是<img src="{images}cutedog.jpg">)。

我找到的解决方案是修改.htacces,以便它过滤掉所有媒体文件并允许访问我的应用程序文件夹。但是通过这样做,我会揭示我宁愿避免的文件结构。

我知道我可以将我的 Web 资源放在我的应用程序文件夹之外,这将解决问题。但是出于可维护性的目的,我认为现在拥有一切会更合乎逻辑。

所以我的问题是...您会建议采取哪些解决方法,以便: - 我可以在application/views/issue/WEB_PAGE/Web-resource-folder维护我的网络资源- 保持我的文件结构隐藏- 可以访问网络资源

我的 .htaccess 域名

Deny from all
<FilesMatch "'.(css|js|jpg|pdf|avi|mpg|robots'.txt|png|pdf|favicon'.ico)$">
    Order allow,deny
    Allow from all
</FilesMatch>

我的文件结构:

-+ /application/
 |
 |-+ /Typical CI folders/        
 |-+ /view/
   |-+ /issue/
     |-+ /1/
       |-+ /page1/
         |-+ /img/
         |-+ /js/
         |-+ /video/
       |-+ /page2/
         |-+ /img/
         |-+ /js/
         |-+ /video/

你需要为那些会告诉.htaccess的复杂重写规则

,如下所示:
if url is blah/bloh/blih/WEB_PAGE/images/cutedog.jpg 
then fetch application/views/issue/WEB_PAGE/img/cutedlog.jpg

如果你问我,随着你创造更多的资源,这将变得越来越麻烦。就像您建议的那样,您应该将 Web 资源放在应用程序文件夹之外。

我的 CI 结构始终如下所示:

/application
/resources
   /page1
      /img
      /js
      /video
   /page2
      /img
      /js
      /video