请教CI框架.html配置问题

请教CI框架.html配置问题,第1张

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">

以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看是否有内容。

1.首先参考了CI手册的http://codeigniter.org.cn/user_guide/general/managing_apps.html来设置mob目录。

我的结构是:

applications/mob/

applications/mob/config/

applications/mob/controllers/

applications/mob/libraries/

applications/mob/models/

applications/mob/views/

然后再根目录下复制原本的主入口index.php,并改名为mob.php。再:

$application_folder= 'applications/foo'

这样你就可以同个http://www.bigzb.com/mob.php/...去访问手机版了。

2.解析www.bigzb.com和m.bigzb.com到同个空间

3.设置.htaccess文件

RewriteCond %{HTTP_HOST} ^(www.)?bigzb_.com$

RewriteCond %{REQUEST_FILENAME} !-d //如果文件夹存在则在这里就不继续执行

RewriteCond %{REQUEST_FILENAME} !-f //如果文件存在则在这里就不继续执行

RewriteRule ^(.*)$ /index.php/$1 [L]

//这样就可以隐藏www.bigzb.com/index.php/...里面的index.php了

RewriteCond %{HTTP_HOST} ^(m.)?bigzb_.com$

#RewriteCond %{REQUEST_FILENAME} !-d //这里不使用这句是因为,如果使用它会跳到index.php里面去

RewriteCond %{REQUEST_FILENAME} !-f //如果文件存在则在这里就不继续执行

RewriteRule ^(.*)$ /mob.php/$1 [L]

//这样就可以m.bigzb.com/mob.php/...里面的index.php了

如此一来你就可以通过www.bigzb.com访问主站,m.bigzb.com访问手机版了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11602566.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存