Ссылка на CSS без /index.php/ в CodeIgniter - PullRequest
1 голос
/ 10 августа 2011

У меня есть CodeIgniter без /index.php/ URL и я хочу связать файл CSS в представлениях.

Мой .htaccess:

RewriteEngine on
RewriteCond $1 !^([a-zA-z0-9/])
RewriteRule ^(.*)$ index.php [L]
RewriteCond $1 !^(index.php|images|robots.txt|system|user_guide)
RewriteRule ^(.*)$ index.php/$1 [L]

Моя ссылка:

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

С /index.php/ это работает, но я хочу простой URL ...

1 Ответ

7 голосов
/ 10 августа 2011

Это потому, что ваша папка приложения отсутствует в списке папок, которые не были перезаписаны в вашем htaccess-файле.

RewriteCond $1 !^(index.php|images|robots.txt|system|user_guide)

Я бы держал ваши CSS-файлы в корне приложения, а не впапка просмотров.Я бы сделал то же самое с вашими скриптами Java и изображениями тоже.Таким образом, структура вашей папки будет выглядеть примерно так:

root/
    application/
    assets/
        css/
        js/
        images/
    system/
...

Обязательно добавьте папку assets в ваш .htaccess:

RewriteCond $1 !^(index.php|images|robots.txt|system|user_guide|assets)

Тогда вы нене нужно беспокоиться о том, что index.php выполняет маршрутизацию, и вы можете просто загрузить файл CSS следующим образом:

<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/css/style.css" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...