Маршрутизаторы Codeigniter иногда не работают - PullRequest
0 голосов
/ 09 декабря 2011

У меня есть маленький вопрос.Я использую Codeigniter 2.1.0, и у меня есть следующий код в мой rout.php.

$route['default_controller'] = "photo";
$route['404_override'] = 'error';

$route['photo/:num'] = 'photo/index/$1';
$route['people/:num'] = 'people/index/$1'; 

Странная вещь, иногда, когда я иду на http://www.myurl.com/photo/1, он работает, а иногда он перенаправляетменя на мою страницу ошибки.

Кто-нибудь Мэйби знает, что не так с моими маршрутами?

Уже заранее спасибо!

Боб

Ответы [ 3 ]

1 голос
/ 11 декабря 2011

Это не правильно

$route['photo/(:num)'] = 'photo/index/$1';
$route['people/(:num)'] = 'people/index/$1'; 

Вы должны написать этот маршрут

$route['photo/(:num)'] = 'photo/$1';
$route['people/(:num)'] = 'people/$1'; 

таким образом разрешено только число.

указатель не обязателен.

0 голосов
/ 11 декабря 2011

при использовании маршрута в Codeigniter не забудьте файл .httacess

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 

и удалите index.php в файле config.php $config['index_page'] = '';

0 голосов
/ 09 декабря 2011

Не уверен, что это так, но вы можете поставить круглые скобки вокруг подстановочных знаков:

$route['default_controller'] = "photo";
$route['404_override'] = 'error';

$route['photo/(:num)'] = 'photo/index/$1';
$route['people/(:num)'] = 'people/index/$1'; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...