Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Apache

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: как сделать через .htaccess чтобы site.ru/123/ = site.ru/index.php/123/
 
 автор: responsor   (06.06.2009 в 15:52)   письмо автору
 
 

Использую codeigniter и столкнулся с такой проблемой. необходимо для чистоты url избавиться от index.php в адресной строке. Как можно это сделать через .htaccess файл, необходимо чтобы все get и post запросы работали исправно.
Нужно чтобы http://site.ru/forum/ было то же самое что и при http://site.ru/index.php/forum/

  Ответить  
 
 автор: RESPONSOR   (06.06.2009 в 15:59)   письмо автору
 
   для: 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

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования