Как убрать index.php из адресной строки используя фреймверк Kohana
Сегодня просматривал ключевые слова по каким ко мне попадают на блог и увидел, что есть много вопросов касающихся исключению index.php из урла. Решил написать как это можно сделать.
Когда скачиваете фреймворк Kohana то в корне архива увидите файлик example.htaccess, переименовываем его в .htaccess.
Далее меняем путь к папке в которой установлен фреймворк, если это необходимо, по-дефолту там написано:
RewriteBase /kohana/ я заменил на RewriteBase / т.к. у меня весь фрейм лежит в корне
Далее идем в папку в папку application и находим файлик bootstrap.php — это настроечный файл для всего сайта, его изменения важны для сайта, в нем осуществляется первоначальная настройка модулей, роутинга и тд.
Находим в этом файле строчки
/** * Initialize Kohana, setting the default options. * * The following options are available: * * - string base_url path, and optionally domain, of your application NULL * - string index_file name of your index file, usually "index.php" index.php * - string charset internal character set used for input and output utf-8 * - string cache_dir set the internal cache directory APPPATH/cache * - boolean errors enable or disable error handling TRUE * - boolean profile enable or disable internal profiling TRUE * - boolean caching enable or disable internal caching FALSE */ Kohana::init(array( 'base_url' => '/', ));
и вот чтобы избавиться от вида строки http://example.com/index.php/contoller/action/
на вид http://example.com/contoller/action/
изменяет инициализацию
Kohana::init(array( 'base_url' => '/', 'index_file' =>'', ));
Удачи.
Статья просмотренна 111157 раз, зашло посетителей 28580
Здравствуйте! Была большая проблема с этим index.php. всё решил благодаря статье. Стоит её немного подправить в некоторых местах, например "Когда скачиваете фреймворк Kohana то в корне архива увидите файлик example.htaccess, переименовываем его в .htaccess." Нужно хотя бы добавить что этим .htaccess надо заменить свой, или дописать в своём. Сначала я этого не понял.
Потом походу фраемвор включается не сразу, у меня прошло около 10 мин, прежде чем он заработал. А так + за статью. Мегаполезная и главное рабочая
Привет! Вся проблема в том, что у меня много опыта за плечами, и хоть я очень стараюсь писать статьи для новичков, но иногда я упускаю такие очевидные для себя вещи, как переименование файла и тд.
Я перепишу статью с учетом ваши замечаний.
Насчет долгого запуска фрейма… ничего тут не скажу, у меня запускается очень быстро, даже в первые разы, возможно кеш браузера, не Оперу юзаете?
нет не оперу, ff. кеш читсил. возможно задержка была из того что я ковырялся одновременно с sh404SEF.
Никогда не юзал Джумлу))
А вы были не правы по поводу файла example.htaccess, только что хотел поправить статью и вторым предложением было:
Я где-то в доке вычитал такой вариант:
<pre>
Kohana::init(array(
'base_url' => '/',
'index_file' => FALSE,
));
</pre>
Есть разница при использовании?
Можно и так, но как бы выше этих строк в документации написано
* — string index_file name of your index file, usually «index.php» index.php
string, а не boolean.
ЗЫ Посмотрел у себя, сам юзаю FALSE ))). Но в ядре с этими данными происходит обработка как со строками, лучше писать пустую строку.