2013-02-14 2 views
-1

Я новичок в CodeIgniter.
Я делаю один сайт, и я хочу, чтобы мой url был короче.
Например, теперь URL являетсяCodeIgniter - сделать URL короче

http://example.com/planner/planner/index.php/planner/main 

и я хочу быть

http://example.com/planner/planner/main. 

Во-первых, я удалить index.php тег, но после этого URL дает мне ошибку 404.
Я хочу удалить index.php и имя контроллера.

Кто-нибудь знает, как я могу это сделать?

PS. Мой URL работает только с index.php теге ...

+2

Этот вопрос имеет не менее 5 дубликатов. http://ellislab.com/forums/viewthread/155801/ –

+0

Что такое Планировщик/планировщик в URL ........... ?? –

+0

, который будет представлять собой папку контроллера, называемую «планировщик», а затем контроллер под названием «планировщик». Контроллер -> Планировщик -> Planner.php –

ответ

1

сделать .htaccess

RewriteBase/
RewriteEngine on 
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico) 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?$1 [L] 

редактировать MYAPPLICATION_FOLDER \ Config \ config.php

$config['index_page'] = ''; 

READ UserGuide

http://ellislab.com/codeigniter/user-guide/general/urls.html

+0

Я делаю это, но это только удаляет мой тег index.php, после чего мой url не работает. Я не знаю, почему мой url работает только с тегом index.php – user2070924

1

Вы можете удалить index.php со своего url, используя код ниже.

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

Но для дальнейшего сокращения вашего URL вам нужно подать в суд на функциональность маршрута ReMap по CodeIgniter. Об этом можно узнать по адресу codeigntier User guide.

Правила маршрутизации определены в файле application/config/routes.php. В нем вы увидите массив с именем $ route, который позволяет вам указать свои собственные критерии маршрутизации. Маршруты могут быть заданы с использованием шаблонов или регулярных выражений

Wildcards 

Типичным подстановочные маршрут может выглядеть примерно так:

$route['product/:num'] = "catalog/product_lookup"; 

В маршруте, ключ массива содержит URI, чтобы быть согласованы, в то время как значение массива содержит место назначения, к которому он должен быть перенаправлен. В приведенном выше примере, если буквальное слово «продукт» найдено в первом сегменте URL-адреса, а число найдено во втором сегменте, вместо этого используются класс «каталог» и метод «product_lookup».

Вы можете соответствовать буквенные значения или вы можете использовать два типа: подстановочные

(: Num) будет соответствовать сегмент, содержащий только цифры. (: any) будет соответствовать сегменту, содержащему любой символ.

Примечание: Маршруты будут выполняться в том порядке, в котором они определены. Более высокие маршруты всегда будут иметь приоритет над более низкими. Примеров

Вот несколько примеров маршрутизации:

$route['journals'] = "blogs"; 

URL, содержащее слово «журналы» в первом сегменте будет Переназначенным к «блог» классу.

$route['blog/joe'] = "blogs/users/34"; 

URL-адрес, содержащий сегменты blog/joe, будет переназначен классу «блоги» и «пользователям». Идентификатор будет установлен на «34».

$route['product/(:any)'] = "catalog/product_lookup"; 

URL-адрес с «продукта» в качестве первого сегмента, и все, что во втором будет переназначен к классу «каталог» и метод «product_lookup».

$route['product/(:num)'] = "catalog/product_lookup_by_id/$1"; 

URL-адрес с «продукта» в качестве первого сегмента, а также ряд во втором будет переназначен к классу «каталог» и «product_lookup_by_id» метод прохождения в матче в качестве переменной к функции.

+0

Я делаю это, но это только удаляет мой тег index.php, после чего мой url не работает. Я не знаю, почему мой url работает только с тегом index.php – user2070924

+0

вы попробовали тот, который я отправил, чтобы удалить index.php ...... –

+0

Да, я удаляю index.php, но после этого я не могу идти дальше с моим сайтом ... Например: http://example.com/planner/planner/index.php/planner/admin работает хорошо. После этого я удаляю index.php. Ссылка будет http://example.com/planner/planner/planner/admin, и ссылка не будет работать ... – user2070924

Смежные вопросы