예를 들면 view를 통해서 javascript나 css를 불러오고 싶은데 ci 주소 특성상 일반적인 주소 접근으로는 어렵다.

폴더 계층으로 보면

 

system/

application/

assets/

    css/

    images/

이렇게 위치한 상태의 assets 폴더를 사용하는 방법이다.

 

1. 우선 application/helpers 폴더 안에 다음과 같은 내용을 적고 utility_helper.php 파일로 저장한다.

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

function assets_url() {
    return base_url() . 'assets/';
}

?>

 

2. application/config/autoload.php 파일을 열고 $autoload['helper'] 의 배열에 utility를 추가시킨 후 저장한다.

$autoload['helper'] = array('url', 'file', 'utility');

3. application/config/routes.php 파일을 열고 맨 뒤에 다음과 같은 내용을 적고 저장한다.

$route['assets/(:any)'] = 'assets/$1';

 

4. 주소에서 접근을 하기 위해 .htaccess 파일을 열고 조건 하나를 더 추가시킨다.

RewriteCond $1 !^(index\.php|images|assets|captcha|data|include|uploads|robots\.txt)

이렇게 했다면 view 안에서 assets 폴더를 통해서 접근하고자 할 때 다음과 같이 이용 가능하다.

<link rel="stylesheet" type="text/css" href="<?php echo assets_url();?>css/style.css">