Пользовательский URL в Codeigniter с использованием htaccess - PullRequest
1 голос
/ 25 мая 2011

Я занимаюсь разработкой сайта на Codeigniter 2.0.2.Это сайт, на котором компании / пользователи могут зарегистрироваться и создать свою собственную страницу профиля, иметь свой собственный URL (например, http://facebook.com/demouser),, иметь собственную систему обратной связи, отображать свои услуги.

При этом у меня естьудалось отобразить страницу профиля в следующем формате

http://mainwebsite.com/company/profile/samplecompany Здесь отображается домашняя страница компании samplecompany, где компания является контроллером, а профиль - методом.

СейчасУ меня есть несколько вопросов,

  1. Я думаю, можно создать / получить http://mainwebsite.com/samplecompany, используя htaccess и контроллер по умолчанию. Если кто-то может помочь с правилом htaccess,это было бы замечательно. Я уже использую htacess для удаления index.php из CI, но не могу заставить это работать.

  2. Там будет несколько других страниц для данного пользователя / компании, таких какобратная связь, свяжитесь с нами, услуги и т. д. Поэтому ссылки на реализацию, которые приходят мне в голову, имеют вид `http://mainwebsite.com/company/profile/samplecompany/feedback или http://mainwebsite.com/samplecompany/feedback

http://mainwebsite.com/company/profile/samplecompany/services или http://mainwebsite.com/samplecompany/services

http://mainwebsite.com/company/profile/samplecompany/contactus или http://mainwebsite.com/samplecompany/contactus

where samplecompany` - это динамическая часть Можно ли создать ссылки на сайт в формате?

  1. Я понимаю, используя запись A для данногодомен, я могу указать домен, скажем, http://www.samplecompany.com на http://mainwebsite.com/company/profile/samplecompany, поэтому, набрав http://www.samplecompany.com он должен быть взят до http://mainwebsite.com/company/profile/samplecompany.Если это будет успешно реализовано, будет ли http://www.samplecompany.com/feedback http://www.samplecompany.com/services http://www.samplecompany.com/contactus

работать правильно?

Ответы [ 2 ]

4 голосов
/ 25 мая 2011

Я думаю, можно создать / get http://mainwebsite.com/samplecompany, используя htaccess и контроллер по умолчанию. Если кто-нибудь может помочь с правилом htaccess, это было бы здорово. Я уже использую htacess для удаления index.php из CI, но не смог заставить это работать. Для данного пользователя / компании будет немного других страниц, таких как обратная связь, контакты, услуги и т. Д. Поэтому ссылки на реализацию, которые приходят мне в голову, имеют вид `http://mainwebsite.com/company/profile/samplecompany/feedback или http://mainwebsite.com/samplecompany/feedback

Вы можете сделать это, используя маршруты . Например, в вашем файле /config/routes.php поместите это:

$route['samplecompany'] = "company/profile/samplecompany";
$route['samplecompany/(:any)'] = "company/profiles/samplecompany/$1";

Первое правило сообщает CodeIgniter, что когда кто-то обращается к http://mainwebsite.com/samplecompany, он должен обработать его так, как если бы URL был «company / profile / samplecompany». Второе правило фиксирует все, что входит в строку URI после «samplecompany», и добавляет его в конец.

Однако, если у вас несколько компаний (не только samplecompany), вы, вероятно, захотите расширить маршрутизатор CI для поддержки этого, если только вы не хотите вручную редактировать файл конфигурации каждый раз, когда добавляется новая компания.

ОК, вы определенно захотите обрабатывать динамические названия компаний (согласно вашему комментарию). Это немного сложнее. Я не могу дать вам полный код, но могу указать вам верное направление.

Вы захотите расширить маршрутизатор CI и при входящем запросе запросить в БД список названий компаний. Если сегмент URI совпадает с названием компании, вы можете подать его, используя метод company/profile. Если этого не произойдет, вы проигнорируете это и позволите CI справиться с этим нормально. Прочтите этот пост на эту тему для получения дополнительной информации: ссылка на форум .

1 голос
/ 15 мая 2012

Вот отличное руководство по достижению того, что вам нужно: URL Codeigniter Vanity .

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