Маршрутизация по имени хоста в CakePHP - PullRequest
3 голосов
/ 15 июля 2010

Возможно ли сделать специфичные для домена маршруты в cakephp?

например, скажем, у меня есть 2 домена: manufacturer.com и productname.com

productname.com припаркован на manufacturer.com.

Я хотел бы создать маршрут, подобный этому:

Router::connect('http://www.productname.com/', array('controller' => 'products', 'action' => 'view', 'productSlug'));

, поэтому в основном индекс для factory.com является значением по умолчанию pages/index, но для productname.com это должно быть products/view/productSlug

Возможно ли это с Cake?

Ответы [ 2 ]

4 голосов
/ 19 июля 2010

Я просто собираюсь ответить на свой вопрос с помощью решения, которое я придумала.

Вместо того, чтобы пытаться проверять домен внутри маршрутов, лучшим способом будет проверка имени хоста еще до определения маршрутов.Например:

if($_SERVER['HTTP_HOST']=='productname.com')
   Router::connect('/', array('controller' => 'products', 'action' => 'view', 'productSlug'));
else
   Router::connect('/', array('controller' => 'pages', 'action' => 'index'));

Есть мнения?Хорошо или плохо?Я еще не проверял это, но по крайней мере я не вижу ничего плохого:)

1 голос
/ 15 июля 2010

Это возможно, но я, вероятно, не буду использовать маршруты для этого.Главным образом потому, что я не волшебник, когда дело доходит до них;).

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

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