2012-01-10 1 views
0

Это мой URL сайта:URI Routing В Codigniter Без HTAccess

xxx.myserver.net 

На этом сайте я хочу маршрутизации контроллер, который означает, что, когда я linkthis типа URL:

xxx.myserver.net/aaaaa 

Я хочу перенаправить его в контроллер, который мне нужен, чтобы я хотел перенаправить:

xxx.myserver.net/index.php/controller-name/funation-name/aaaaa 

Я хочу, чтобы e это без использования метода htaccess только с использованием метода маршрутизации urign codeigniter.

Когда я пытаюсь сделать это я получаю сообщение об ошибке:

Not Found 

The requested URL not found on this server. 

Это код, который я дал на странице routes.php:

$route['/(:any)'] = "xxx.myserver.net/index.php/controller-name/funation-name/$1"; 

Что проблема в моем коде ?

Как я могу это сделать?

+0

Вы не можете сделать это без '.htaccess', вы путаете конфигурационный файл маршрута с тем, что '.htaccess' делает. Файл конфигурации маршрута маршрутизируется только в CONTROLLERS, а не на файлы на вашем сервере (что делает htaccess). – Jakub

+0

Вы имеете в виду файл конфигурации маршрута только для контроллеров маршрутизации, а не для маршрутизации сервера? – Kichu

+0

Правильно, вы только перенаправляете параметры контроллерам, а не файлам или чему-либо в этом роде. – Jakub

ответ

1

Вы не можете этого сделать без использования файла .htaccess. На высоком уровне целью файла .htaccess является маршрутизация всех запросов в ваш домен через фронт-контроллер CodeIgniter, файл index.php в корневом каталоге. Вот documentation, в котором объясняется, как создается файл .htaccess и удаляется index.php из URL-адреса. Перефразируя, он указывает, как произвольные запросы обрабатываются как запросы для файла index.php.

Когда вы делаете запрос xxx.myserver.net/aaaaa, веб-сервер ищет ресурс aaaaa в вашем корне. Этот запрос даже не обрабатывается CodeIgniter. Поскольку у вас нет ресурса под названием aaaaa, вы получаете сообщение об ошибке.

Чтобы использовать CodeIgniter без файла .htaccess, вам необходимо передать каждый запрос через index.php. Например:

xxx.myserver.net/index.php/aaaaa

Тогда вы можете создать свой маршрут, как это:

$route['(:any)'] = 'controller_name/function_name/$1';

+0

i установлен как этот $ route ['(: any)'] = 'имя_контроля/имя_функции/$ 1'; И взял выше полученную ошибку 404 Страница не найдена Запрошенная вами страница не найдена. – Kichu