Php codeigniter-将图像、css、js、视频(web资源)加载到html中
我在我的第一个CodeIgniter项目中工作 在构建了大部分PHP并开始使用几乎完成的scrip之后,我意识到Php codeigniter-将图像、css、js、视频(web资源)加载到html中,php,.htaccess,codeigniter,Php,.htaccess,Codeigniter,我在我的第一个CodeIgniter项目中工作 在构建了大部分PHP并开始使用几乎完成的scrip之后,我意识到应用程序/views/文件夹的所有访问都被.htaccess拒绝 当我想要访问特定于页面的JavaScript、图像或任何web资源文件夹时,这对我的文件结构来说是一个巨大的问题。因为所有我的视图模板都假定文件在本地使用(在我的代码中更准确地说是Page\u name/images/cutedog.jpg) 我找到的解决方案是修改.htacces,以便它过滤掉所有媒体文件,并允许访问我
应用程序/views/
文件夹的所有访问都被.htaccess
拒绝
当我想要访问特定于页面的JavaScript、图像或任何web资源文件夹时,这对我的文件结构来说是一个巨大的问题。因为所有我的视图模板
都假定文件在本地使用(在我的代码中更准确地说是Page\u name/images/cutedog.jpg
)
我找到的解决方案是修改.htacces,以便它过滤掉所有媒体文件,并允许访问我的应用程序文件夹。但通过这样做,我将揭示我宁愿避免的文件结构
我知道我可以把我的web资源放在我的应用程序文件夹之外,这样就能解决问题。但出于可维护性的目的,我认为让一切都保持现状更符合逻辑
所以我的问题如下。。。您会建议采取什么措施,以便:
-我可以在application/views/issue/web\u PAGE/web资源文件夹
-隐藏我的文件结构
-可以访问web资源
我的.htaccess
Deny from all
<FilesMatch "\.(css|js|jpg|pdf|avi|mpg|robots\.txt|png|pdf|favicon\.ico)$">
Order allow,deny
Allow from all
</FilesMatch>
您将需要编写复杂的重写规则来告诉.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
您不应该需要直接访问应用程序目录。您的控制器、视图和路由应该为您处理所有这些。您可能误解了CI的工作原理吗?Javascript和CSS资源可以放在公共的“scripts”或“CSS”目录中,然后您只需要修改核心CI.htaccess,以确保它不会将对这些文件夹的请求重写为index.php。这是一个糟糕的设计。为什么你认为如果你把资源放在应用程序文件夹之外,你就不能达到同样的效果呢?我唯一真正感兴趣的是把JS从主脚本中分离出来。使用特定于页面文件夹的JS可以更简单地修改和读取内容。特别是当一些建造它的人技术含量较低时。我试图简化“事情的走向”和一些人接触系统的可读性。主要是因为我有一个自定义的MVC,可以这样做。如果我不能在CI上这样做,那很好。但我宁愿尝试保持旧制度
/application
/resources
/page1
/img
/js
/video
/page2
/img
/js
/video