我在文件夹视图编码器中包含JS或CSS,但经验丰富
403错误,
如何解决?
示例代码:
<script type="text/javascript" src="<?php echo base_url() . APPPATH; ?>views/data/index.js">
或
<link type="text/css" rel="stylesheet" href="<?php echo base_url() . APPPATH; ?>views/data/index.css">
然后出现错误"
"NetworkError: 403 Forbidden
请各位大师解答。
对不起,如果我的英语不好
解决这个问题的最简单方法是在应用程序根目录中创建一个新目录,如下所示:
-Your_Application
-application
-assets <-- Create this folder.
-css <-- Create this subfolder inside assets folder.
-js <-- Create this subfolder inside assets folder.
-script.js <-- Place your script files inside js folder.
-system
-index.php
现在你可以使用url helper访问你的css和js文件了,像这样:
<script src="<?php echo base_url('/assets/js/script.js'); ?>" ></script>
对css执行相同的步骤,并确保url helper
从config/autoload.php
中启用,如下所示:
$autoload['helper'] = array('url');
想知道这背后的原因:
发生这种情况的原因是你的应用程序从index.php
在你的应用程序根作为CI实现前端控制器设计模式的输出。
在您的视图中,您不能在其上放置资产或支持文件。编码器的错误文件结构。您可以在根目录下设置一个文件夹名为asssets,并按照以下步骤操作。
你可以在constraints.php on config folder ....上添加url路径在常量上定义url:
注意:xxx是你的网站名称
define('ROUTE_STIE_PATH','localhost/xxx/');
define('ADMIN_CSS_DIR_FULL_PATH',ROUTE_STIE_PATH.'assets/css/');
define('ADMIN_CSS_DIR_FULL_PATH',ROUTE_STIE_PATH.'assets/js/');
然后你可以简单地通过on view或header
<link href="<?php echo ADMIN_CSS_DIR_FULL_PATH; ?>index.css" rel="stylesheet" type="text/css">
<script src="<?php echo ADMIN_JS_DIR_FULL_PATH; ?>index.js" type="text/javascript"></script>
CodeIgniter在/application目录下有一个。htaccess,其中包含
Deny from all
你需要删除这个文件或改变它的规则集从任何地方访问js/css文件等
application/*
如果它是你的要求有js或CSS文件特定的视图,你想在视图中处理这些文件,然后:最简单的方法是创建文件
xxxcss.php and xxxjs.php //put your js code or css style
定义变量
$data['variable']="Something"; // This is optional if you need pass php variable to your js or css before loading in page.
在控制器中加载视图并传递给另一个视图或直接在视图中加载
$this->load->view('css.php or js.php',$data);