0
AFAIK除非指定了主機,否則Symfony2對路由中的主機無所謂。爲路由設置全局主機
我目前沒有在我的應用程序中使用子域,但是這將會改變。我想要的是,當主機中存在子域(http://subdomain.foo.bar)時,如果路由配置在主機中具有子域,則路由器只匹配路由。
這應該與:(其它)
/**
* @Route("/", host="{subdomain}.%host%")
* @Template
*/
public function index()
這應該不匹配,並返回404:
/**
* @Route("/")
* @Template
*/
public function index()
由於上述冷漠,這條路線也匹配對於http://subdomain.foo.bar
所以我想要的是設置主機全球需求(foo.bar),然後爲存在子域時它們應該匹配的特定路由指定。
我嘗試添加主機要求的進口在app/config/routing.yml
:
foo:
resource: "@AcmeFooBundle/Controller/"
type: annotation
host: foo.bar
prefix: /
然而,在註釋中指定的,造成不匹配任何兩條航線的主機要求「贏」(當一個子域出現在實際的主機中時。
什麼工作,每個控制器globablly設置主機名:
/**
* @Route(host="foo.bar")
*/
class bazController
但我寧願全局配置這個地方。
有誰知道如何解決這個問題?
是多麼有效它來編譯每個請求的路線。 – bharatesh 2017-01-12 15:31:18