Лучшая практика хранения папок Codeigniter

Я довольно новичок в 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