2015-06-25 2 views
0

Я следил за ошибками из knpUniversity «Как обрабатывать динамические поддомены в symfony2» .При работе поддомена работает, но когда я пытаюсь перейти на www.domain.com, я получаю ошибку, Я выбрал, если субдомен не найден. Как это исправить? Вот мой код:Переадресовать домен и поддомен в SF2

public function onKernelRequest(GetResponseEvent $getResponseEvent) 
{ 
    $request = $getResponseEvent->getRequest(); 
    $host = $request->getHost(); 
    $base_host = $this->baseHost; 
    $sub_domain = str_replace('.'.$base_host,'',$host); 
    $site = $this->em->getRepository('AppBundle:Client')->findOneBy(['subDomain' => $sub_domain]); 

    if(!$site){ 
     throw new NotFoundHttpException(sprintf(
      'Cannot find site for host "%s", subdomain "%s" ', 
      $host, 
      $sub_domain 
     )); 
    } 

    $siteManager = $this->siteManager; 
    $siteManager->setCurrentSite($site); 
} 

ответ

1

Я не знаю, если это лучший способ сделать это, но я сделал его работу.

public function onKernelRequest(GetResponseEvent $getResponseEvent) 
{ 
    $request = $getResponseEvent->getRequest(); 
    $host = $request->getHost(); 
    $base_host = $this->baseHost; 
    $sub_domain = str_replace('.'.$base_host,'',$host); 
    $site = $this->em->getRepository('AppBundle:Client')->findOneBy(['subDomain' => $sub_domain]); 

    if(!$site && $base_host != $sub_domain){ 
     throw new NotFoundHttpException(sprintf(
      'Cannot find site for host "%s", subdomain "%s" ', 
      $host, 
      $sub_domain 
     )); 
    } 

    $siteManager = $this->siteManager; 
    $siteManager->setCurrentSite($site); 
} 
Смежные вопросы