|
|
|
| Использую codeigniter и столкнулся с такой проблемой. необходимо для чистоты url избавиться от index.php в адресной строке. Как можно это сделать через .htaccess файл, необходимо чтобы все get и post запросы работали исправно.
Нужно чтобы http://site.ru/forum/ было то же самое что и при http://site.ru/index.php/forum/ | |
|
|
|
|
|
|
|
для: responsor
(06.06.2009 в 15:52)
| | так, нашел быстрее чем создавал тему, может кому пригодиться.
Правила перенаправления в файле .htaccess
Включаем модуль mod_rewrite, задаем для него перенаправление всех запросов для несуществующих ресурсов на index.php:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>
Если ваше приложение на базе CodeIgniter расположено не в корневом каталоге домена, укажите в строке RewriteBase / тот каталог, где расположено ваше приложение. Строки
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
указывают, что правило будет работать только для запросов на ресурсы(файлы или каталоги), которые не существуют в файловой системе.
Строка RewriteRule ^(.*)$ index.php/$1 [L] указывает, что все запросы нужно направить на файл index.php.
Теперь вместо URL /index.php/welcome можно смело использовать /welcome.
Примечание, если после внесения в файл .htaccess описанного кода сервер на любой запрос отвечает Internal Server Error (код ошибки 500), значит вы скорее всего допустили опечатку при редактировании файла.
с сайта http://www.codeigniter.org.ru/content/ubrat-indexphp-url | |
|
|
|