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
Форумы портала PHP.SU :: Версия для печати :: Codeigniter: URI без index.php
Форумы портала PHP.SU » » CMS и фреймворки » Codeigniter: URI без index.php

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

1. Vinyl - 22 Апреля, 2013 - 10:14:44 - перейти к сообщению
Всем доброго времени.

Изучаю 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, все равно.

Заранее спасибо.
2. Vinyl - 23 Апреля, 2013 - 12:02:37 - перейти к сообщению
Разобрался.
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. Без "?" не работает!

 

Powered by ExBB FM 1.0 RC1