2014-02-27 81 views
0

我已經在這裏跟着指示:基於主機的Symfony2路由。隨着參數

http://symfony.com/doc/current/components/routing/hostname_pattern.html

爲了使基於主機的路由。但是我想用參數代替硬編碼。該文件說您可以使用服務參數,但我似乎無法使參數工作。

這裏是routing.yml文件中的代碼:

rc_course_new: 
    pattern: /course/new 
    host: "{ domain }" 
    defaults: { _controller: CoursesRCWizardBundle:Wizard:new } 
    requirements: 
     domain: "%rc_domain%" 

這裏是從services.yml代碼:

parameters: 
    rc_domain: my.domain.com 

我得到這個錯誤(看起來是不拾取參數,但看到它作爲一個硬編碼):

Oops! Google Chrome could not find { domain } 
+0

你包含的routing.yml之前,你的services.yml?你清除了緩存嗎? –

+1

看來你的瀏覽器存在這個問題。瀏覽器無法訪問服務器時出現「糟糕!谷歌瀏覽器無法找到{域}」。 –

+0

它也可能是主機變量中的空格,嘗試'host:「{domain}」'沒有空格。 – Chausser

回答

1

設法解決這個:

在路由:

rc_course_new: 
    pattern: /course/new 
    host: "%rc_domain%" 
    defaults: { _controller: CoursesRCWizardBundle:Wizard:new } 

在services文件(可能會在參數文件中更好地工作):

parameters: 
    rc_domain: my.domain.com