2015-08-06 7 views
0

Я использую библиотеку Pagination в Codeigniter, а ссылки, которые она создает, именно то, что я ищу. Когда я нажимаю на ссылку, чтобы перейти на следующую страницу, я получаю 404.Маршрутизация Codeigniter с использованием base_url

Моей базы URL-адрес (индекс страницы) является: http://localhost/foo

Моей маршрутизация:

$route['default_controller'] = 'main'; 
$route['page/(:num)'] = 'main/page/$1'; 

Я хочу быть в состоянии перейти на URL: http://localhost/foo/page/2, чтобы получить вторую страницу. main - это контроллер. page - это функция внутри main.

I может типа в URL http://localhost/foo/index.php/main/page/2 и получить нужную страницу, но я не хотят иметь index.php/main в ссылке.

Что я делаю неправильно?

+0

http://stackoverflow.com/questions/31742035/codeigniter-routes-is-not-working/31742564#31742564 – shafiq

ответ

0

Вы не совершаете ничего плохого. Если вы хотите, чтобы удалить index.php из URL:

отпуск в пустой $ конфиге [ «index_page»] на атрибут объявления приложения/Config/config.php файл и убедитесь, что у вас есть. Htaccess, который содержит

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

Кроме того, убедитесь сервер Апач включен mod_rewrite и в конфигурации апача AllowOverride атрибута это было установлено на всех

0

в вас контроллер (в постраничной код) $config['base_url'] должен быть

$config['base_url'] = base_url() . 'foo/page/'; 

В routes.php

$route['page/(:num)'] = 'main/page/$1'; 
$route['page'] = 'main/page';//add this line 

В .htaccess (место за пределами папки приложений)

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule> 

Примечание: Чтобы использовать base_url() в config/autoload.php

$autoload['helper'] = array('url');//url 

и config/config.php (Изменить это)

$config['base_url'] = ''; 
$config['index_page'] = '';