用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4578|回复: 2
收起左侧

关于STBlog后台视图文件css外部引用地址问题

[复制链接]
发表于 2011-9-6 17:26:18 | 显示全部楼层 |阅读模式
我们都知道大部分童鞋对CI视图文件中的外部css文件,js文件,图片文件等的处理都是将这些文件放置在根目录下,然后利用重写规则来处理的。STBlog前台部分是通过改写ci_view_path地址来实现模板目录的更改,后台仍然用的是CI原有的加载视图的方法,但STBlog对后台视图文件引用的css等外部文件并没有将它们放置于网站根目录,而是放在CI视图文件下相应的子文件夹内,代码如下:
PHP复制代码
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title><?php echo $page_title.' - '. setting_item('blog_title');?></title>
        <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
        <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>application/views/admin/styles/reset.source.css" />
                <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>application/views/admin/styles/grid.source.css" />
                <link rel="stylesheet" type="text/css" href="<?php echo base_url();?>application/views/admin/styles/typecho.source.css" />    
</head>
<body<?php if (isset($body_class)) {echo ' class="' . $body_class . '"';} ?>>
复制代码


我们可以看到外部引用地址是一个绝对路径地址,但application文件夹是应用程序文件夹,是不能直接对该文件夹进行访问的,也没有看到相应的地址重写规则和地址路由规则的配置。这一块不知道有没有了解的朋友能解释一下。
发表于 2011-9-6 20:45:57 | 显示全部楼层
application文件夹下有个.htaccess,他会拒绝一切请求,你把它删了就可以了,谢谢
 楼主| 发表于 2011-9-6 23:05:41 | 显示全部楼层
确实是这样,我对这个了解的还不够

不过我发现如果网站根目录也存在 .htaccess文件,视图文件也是没办法直接引用views文件夹下的外部文件,此时只有在 .htaccess 文件中设定重写规则,对所有对 application\views 目录或其子目录的请求放行

不过这样做有一个问题就是可以通过浏览器直接访问视图文件,要避免此问题,可以将外部文件放在视图文件夹子目录下,并且在.htaccess文件中可加深放行目录的深度,例如 application\views\default\css

本版积分规则