【问题标题】:Symfony host restrictionSymfony 主机限制
【发布时间】:2017-08-16 08:43:26
【问题描述】:

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

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

我尝试使用 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

访问 otherappsymfony.com 时,我仍然被重定向到 appsymfony.com/en/

我的debug:router:

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

它总是被覆盖:

root         ANY      ANY      ANY          /      

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

【问题讨论】:

    标签: php symfony url-routing virtualhost


    【解决方案1】:

    我正在使用以下方法:

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-11-17
      • 2018-01-11
      • 2022-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多