Удаляем index.php из URL и настраиваем .htaccess в CodeIgniter.
Если уж делать красивые URL-ы, то нужно делать их везде:) Как известно, по умолчанию в php-фреймворке CodeIgniter все адреса страниц включают в себя index.php. Например, так:
example.com/index.php/news/read/some-article
Таким образом, url выглядит длиннее и слегка «непричесанным». Давайте избавимся от него. Для этого нам понадобиться создать файлик .htaccess и поместить в него несколько инструкций. Вот пример файла одного из проектов:
1 2 3 4 |
RewriteEngine on RewriteCond $1 !^(index\.php|img|robots\.txt|css|js|ckeditor) RewriteRule ^(.*)$ /index.php/$1 [L] addDefaultCharset UTF-8 |
Как видим, помимо инструкций, касающихся index.php, данный файл .htaccess содержит директивы касательно некоторых папок и файлов, доступ к которым должен быть «минуя» CodeIgniter: папки со стилями, скриптами js, картинками, папка редактора ckeditor и файл robots.txt.
Данный файл .htaccess необходимо поместить в корень сайта.
Категория: CodeIgniter
А если сайт находится в поддиректории?
Например:
http://example.com/site1/index.php/news/read/some-article