Я довольно новичок в codeigniter, но я хорошо учусь, я собираюсь добавить папку css, images, js, …, но я не уверен, куда ее поместить
Кто-то сказал мне сделать «общедоступную» папку
system application public css images
А затем в вашем index.php (в общей папке) отрегулируйте соответственно
$ system_path = '../system'; $ application_path = '../application';
Но когда я делаю это, я получаю 404 (не ci 404, но действительно не найденный)
Кто-нибудь знает, что я могу делать неправильно? Благодаря!
другой угол на этом – и я думаю, что они пытались сказать вам сделать – помещает ваше приложение и системные папки на один уровень из «общедоступной» html-папки. таким образом ваши исходные файлы недоступны. так как в Mamp общая папка называется htdocs, в большинстве веб-хостинга называется html.
/application/html/ /system /html/ // your main index page is in the public html folder /.….. /html/index.php // an assets folder in the public html folder with css, img, etc folders /.…… /html/assets/css/ /.…… /html/assets/img/
то в вашем index.php путь идет на один уровень вверх
$system_path = '../system'; $application_folder = '../application';
БОНУС – вот два совета, которые мне очень помогли. 1) Назовите свою папку приложений, затем вы можете легко переключаться между различными версиями, «откатываться назад» очень быстро и т. Д.
/app_alpha/html/ /app_beta01/html/ /app_beta02/html/
2) Поместите базовый url на страницу index.php – не в config.
$assign_to_config['base_url'] = 'https://awesomedomain.com';
таким образом, у вас может быть версия локального развития, отдельная версия сервера в реальном времени – и вам никогда не придется беспокоиться о написании базового url, потому что на странице index.php – не в конфигурации.
У меня есть эта настройка:
application assets system .htaccess
и в папке «assets» у меня есть подпапки вроде «img» или «js» и т. д. Я также использую «помощник утилиты», чтобы помочь мне указать на эту папку.
Если вы хотите попробовать, вы должны сначала создать помощника с именем «utility_helper.php» с помощью этого кода:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); if ( ! function_exists('asset_url()')) { function asset_url() { return base_url().'assets/'; } }
и хранить его в
application/helpers/
то вы должны автозагрузить этого помощника, вы переходите к:
application/config/autoload.php
и автоматическая загрузка помощника (пример:)
$autoload['helper'] = array('form', 'url', 'utility');
вы также должны перейти в эту папку («application / config / routes.php»)
$route['assets/(:any)'] = 'assets/$1';
и иметь файл .htaccess с этим контентом:
RewriteEngine on RewriteCond $1 !^(index\.php|images|assets|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L]
теперь вы можете просто включить внешние скрипты, пример css:
<link rel="stylesheet" type="text/css" href="<?php echo asset_url();?>css/style.css">
где css – это папка внутри активов, а style.css – это файл css. Вот так:
application assets css style.css system
Я бы вернул обратно изменения, внесенные вами в index.php
, поскольку он выглядит так, как будто они являются источником проблемы.
Я использовал аналогичную настройку для CodeIgniter, в которой все мои изображения, CSS и JS попадают в папку с именем static
, и буквально все, что я делал, это создать эту папку и поместить в нее файлы, и они отлично работали. Если вы хотите удалить index.php
из своих URL-адресов, вам нужно убедиться, что ваш файл .htaccess
не переписывает URL-адреса для ваших статических файлов.
найдите простой помощник для загрузки любого приложения.
простой помощник по активам для codeigniter