2012-01-13 2 views
4

Я пытался обвести голову вокруг этой концепции и как правильно ее направить, но мне просто трудно это сделать.Подвижность поддоменов подстановок с CodeIgniter

Я принимать все домены и поддомены моего приложения, но вот вопрос:

Пример:

john.myapp.com/foo 

он должен маршрут к foo функции в контроллере user вместо вызова контроллера называется foo.

Итак:

john.myapp.com/foo -> myapp.com/user/foo 
john.myapp.com/foo/bar -> myapp.com/user/foo/bar 
someotherdomain.com/foo/bar -> myapp.com/user/foo/bar 
myapp.com/foo -> the controller: foo 

Но эта маршрутизация должна применяться только к поддомены и другие домены, а не myapp.com

ответ

6

Codeigniter не поддерживает маршрутизацию с участием доменов как часть его функциональность по умолчанию.

Если вы посетили www.example.com/controller/method, маршрутизатор интерпретирует только часть /controller/method и ничего не игнорирует.

Это означает, что для достижения того, что вы пытаетесь, вам нужно направлять субдомены в приложение с использованием .htaccess.

RewriteCond %{HTTP_HOST} ^((?!www\.)(?!myapp\.com)[^\.]+)\. 
RewriteRule ^(.*)$ /index.php?/user/%1/$1 [L] 

Это пошлет все запросы как

subdomain.example.com/controller/method пойти example.com/index.php/user/controller/method

Это позволит вам маршрут в зависимости от подобласти, используя стандартные функциональные возможности маршрутизации.

+1

но как я могу перенаправить его пользователю user.example.com, который динамически создан – jayadevkv