CI框架怎么引外部的CSS和JS文件

上面写的我都做过试验了都要不成功,这框架确实不错,但现在怎么引用外问的CSS和JS搞得让我头疼,有哪位能写的明确一点的写得清晰一点RewriteEngineonRewri... 上面写的我都做过试验了都要不成功,这框架确实不错,但现在怎么引用外问的CSS和JS搞得让我头疼,有哪位能写的明确一点的写得清晰一点RewriteEngine on RewriteCond $1 !^(index\.php|images|js|img|css|robots\.txt) RewriteRule ^(.*)$ index.php/$1 [L]这里面不用放 |css|进去吗 展开
 我来答
Oo_sky
2015-08-06 · TA获得超过1169个赞
知道小有建树答主
回答量:372
采纳率:25%
帮助的人:276万
展开全部

以CI框架使用2.0版本为例:

我们下载解压后就看到如下文件目录:


这里要注意一下:如果你使用版本较低的话,目录结构就不这样的了,不过不影响我们。

 1  我们将application、system、index.php 上传到网站根目录下。

 2  我们再在根目录下新建一个目录“resources” 来专门存放我们CSS、JS、image等资源(这里资源目录的结构可自行定义,我这里为了做演示,只是简单处理)。

这里css、JS等是不能放到application、system目录的(有网友就这么做)。 因为出于安全原因(或者MVC模式) 这里目录是只不能直接通过URL形式访问到的,这些目录里有一个..htaccess 文件,里包含一句代码:“Deny from all”。就是此命令阻止用户直接访问这些目录。

3  我们在 resources 目录里添加一个文件:ajax.js。 这样我们在VIEW层中的文件为index.html引入JS时,如下方式: 

<script type="text/javascript" src="url/ajax.js'?>"></script>

注这里url是你的网站绝对URL。


另外:

1 使用 BASE_URL() 函数

当然为了可维护性,你也可以用CI自带的BASE_URL来设置,如下:

1)  首先进入 application/config/config.php文件,在config.php文件中设置base_url:

$config['base_url'] =http://www.exiplode/; //这里是你的网站根目录

2) 导入 BASE_URL()函数

   base_url()函数是helper 函数,需要导入才能使用。

  可以在控制器里如下导入:

 $this->load->helper('url');

或者在config/autoload.php 文件里自动导入

/*
| -------------------------------------------------------------------
|  Auto-load Helper Files
| -------------------------------------------------------------------
| Prototype:
|
|    $autoload['helper'] = array('url', 'file');
*/
$autoload['helper'] = array('url');

3) 然后进入VIEW层中具体页面中引入即可:

<script type="text/javascript" src='<?=base_url().'resources/Ajax.js'?>'></script>

2 隐藏了url中的index.php文件、使用URL重写规则时。当然我们有时为了URL SEO方面考虑,会将index.php 隐藏起来,即让URL重写。但要注意像CSS、JS等这些资源是要排除掉的。

   我们在网站根目录里放入.htaccess文件,内容为:

       RewriteEngine on    
       RewriteCond $1 !^(index\.php|resources|robots\.txt)    #在这里写要排除的资源等
       RewriteRule ^(.*)$ index.php/$1 [L]

 也就是说:当用户访问resources目录、robots.txt文件时都不重定向到index.php, 其它一律重定向到index.php。

3  还是无效果?浏览器访问一下。

    如果以上都OK后,还没有效果的话。就要看看JS、CSS是否引入进来了。你可以直接访问一下JS URL看是否有内容。

忧郁之身
推荐于2018-03-29 · 超过56用户采纳过TA的回答
知道小有建树答主
回答量:172
采纳率:100%
帮助的人:80.3万
展开全部
1、两种方法,相对路径和绝对路径

2、相对路径是相对网站根目录的路径也就是index.php所在的路径
3、绝对路径可以使用config.php中base_url配置
4、举例:static是根目录下的文件夹,存放静态文件
相对:
<script src="static/js/web.js"></script>
<link rel="stylesheet" type="text/css" href="static/css/style.css">
绝对:
首先php获取base_url的值
$base_url = $this->config->item('base_url');
//通过参数传递到html页面
$this->load->view('index', array('base_url'=>$base_url));
//页面中使用
<script src="<?php echo $base_url; ?>static/js/web.js"></script>
<link rel="stylesheet" type="text/css" href="<?php echo $base_url; ?>static/css/style.css">
//手打 望采纳
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
安浪创想
2016-09-30
知道答主
回答量:19
采纳率:100%
帮助的人:2.4万
展开全部
这样的 直接 src='/style.css';不就行了。要的是最简单的 定位到views目录下面的把所有的静态资源都放在一起的那种方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ffvsnn520
2013-04-25 · 超过68用户采纳过TA的回答
知道小有建树答主
回答量:291
采纳率:0%
帮助的人:166万
展开全部
用相对路径就可以直接引入.希望对你有帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-04-24
展开全部
你表达的意思是让静态文件不做rewrite对吧?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式