Symfony主机限制

时间:2017-03-23 16:41:35

标签: php symfony url-routing virtualhost

我无法解决我的symfony应用程序的问题。

假设appsymfony.com可以访问我的symfony3应用程序,我想限制来自otherappsymfony.com的用户访问,该用户指向同一个nginx虚拟主机,仅限于我定义的某些路由。 / p>

我尝试使用host routing但在我的routing.yml中使用此配置:

domain:
  prefix:   /
  host: {domain}
  defaults:
     _controller: AppBundle:Default:index
     domain: otherappsymfony.com

subdomain:
  prefix:   /
  host: sub.{domain}
  defaults:
     _controller: AppBundle:Default:sub
     domain: otherappsymfony.com

访问appsymfony.com/en/

时,我仍然被重定向到otherappsymfony.com

我的debug:router

 app     ANY      ANY      otherappsymfony.com       /                                                                        
 sub     ANY      ANY      sub.otherappsymfony.com   /  

它始终覆盖:

root         ANY      ANY      ANY          /      

有没有更好的方法来实现它?感谢。

1 个答案:

答案 0 :(得分:0)

我使用以下方法:

domain:
   prefix:   /
   host: {domain}
   defaults:
       _controller: AppBundle:Default:index
       domain: otherappsymfony.com
   requirements:
       domain: "%domain%"

其中%domain%是与所需域匹配的正则表达式。如果任何要求为“假”,则路线不匹配。

该方法的来源是symfony docs:http://symfony.com/doc/current/routing.html#advanced-routing-example