Перепишите мой основной контроллер (домашний), так что я не вижу его в URL, возможно ли это? - PullRequest
2 голосов
/ 20 июля 2011

У меня есть проект воспламенителя кода, я использовал Mod_rewrite для удаления «index.php» из URL, используя этот метод. Это отлично работает.

Но теперь я хотел бы удалить мой основной контроллер (то есть default_controller) в config / rout.php, который называется «Home».

Итак, мой текущий URL:

http://localhost:85/project/Home/portfolio
http://localhost:85/project/Home/about_me

Я хочу, чтобы это было:

http://localhost:85/project/portfolio      // Get rid of the "Home"
http://localhost:85/project/about_me       // Get rid of the "Home"

И если я использую другой контроллер, кроме «Home» (мой основной контроллер), я хочу, чтобы он отображался в URL как обычно.

Так что, если я создаю контроллер с именем «Блог», я хочу иметь возможность использовать «Блог» в URL, поэтому я не хочу избавляться от этого, потому что это не default_controller.

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

// Here I want to see the Blog Controller -> Then -> Method Name as usual.
http://localhost:85/project/Blog/entry/1
http://localhost:85/project/Blog/create
http://localhost:85/project/Blog/delete

Я не очень хорош с mod_rewrite, поэтому достаточно простого объяснения.


[EDIT] * * тысячу двадцать-один Кто-нибудь может сказать мне, если это вообще возможно?
Что еще я могу назвать своим контроллером, чтобы он хорошо смотрелся в браузере, а не «Домой»?

1 Ответ

3 голосов
/ 20 июля 2011

Конечно, только потому, что вы назвали контроллер "Home", он ничем не отличается от другого контроллера.Существует не столько контроллер по умолчанию, сколько страница по умолчанию (если отсутствуют сегменты URL), которая определена в вашем routes.php.Вы также можете использовать маршруты для сопоставления запросов в CI вместо .htaccess (именно для этого они предназначены):

$route['portfolio'] = 'home/portfolio';
$route['about_me'] = 'home/about_me';

// Alternative
$route['(portfolio|about_me)'] = 'home/$1';

Это в основном говорит: «Если пользователь запрашивает ключ $, дайте ему значение $ value»,Маршруты потрясающие, определенно стоит научиться использовать их в своих интересах.

Подробнее: http://codeigniter.com/user_guide/general/routing.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...