Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Codeigniter: URI без index.php

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Vinyl
Отправлено: 22 Апреля, 2013 - 10:14:44
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




Всем доброго времени.

Изучаю Codeigniter, первое, с чем столкнулся - index.php в URI.
В интернетах тысячи манов, как убрать из URI index.php, все пишут примерно одно и тоже:
CODE (htaccess):
скопировать код в буфер обмена
  1.       RewriteEngine On
  2.       RewriteBase /
  3.       RewriteCond %{REQUEST_FILENAME} !-f
  4.       RewriteCond %{REQUEST_FILENAME} !-d
  5.       RewriteRule ^(.*)$ index.php/$1 [L]


Также в конфиге $config['index_page'] = "";. Все хорошо, http://host.com/welcome/index работает, но если набрать http://host.com/index.php/welcome/index - страница все так же открывается. Как перманентно убрать ненавистный index.php из строки запроса? Чтобы даже если его набрали специально, страница не открывалась. Хоть на правильный адрес переброс, хоть на 404, все равно.

Заранее спасибо.


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
Vinyl
Отправлено: 23 Апреля, 2013 - 12:02:37
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 645
Дата рег-ции: Янв. 2012  
Откуда: Армавир, Краснодарский край


Помог: 15 раз(а)




Разобрался.
CODE (htaccess):
скопировать код в буфер обмена
  1. RewriteEngine On
  2. RewriteBase /
  3.  
  4. RewriteCond %{REQUEST_URI} ^\/index\.php\/.*$
  5. RewriteRule ^index\.php\/(.*)$ /$1 [NS,R=301,L]
  6.  
  7. RewriteCond %{REQUEST_FILENAME} !-f
  8. RewriteCond %{REQUEST_FILENAME} !-d
  9. RewriteRule ^(.*)$ index.php?/$1 [L]


Обратите внимание на ^(.*)$ index.php?/$1. Без "?" не работает!


-----
Пессимисты пользуются die(), оптимисты - exit()
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB