我正在嘗試使用sfDomainRoutePlugin plugin創建一個包含子域的站點。我在Linux上使用SF版本1.4.12,使用Apache作爲Web服務器。與Symfony一起使用sfDomainRoutePlugin時出現'Server Not Found'錯誤
我下面的在線說明,並已創建以下路由文件:
homepage:
url: /
class: sfDomainRoute
param: { module: foo, action: index }
requirements:
sf_host: [portal.localhost]
#Sample route limited to one subdomain
blog:
url: /
class: sfDomainRoute
param: { module: foo, action: foo1 }
requirements:
sf_host: blog.portal.localhost
#Sample route that will capture the subdomain name as a parameter
user_page:
url: /
class: sfDomainRoute
param: { module: foo, action: foo2 }
#Sample route that will not receive a subdomain and will default to www.greenanysite.com
install:
url: /install
class: sfDomainRoute
param: { module: foo, action: foo3 }
我foo的模塊代碼所擁有的方法foo1和Foo2和foo3作爲存根功能實現,各自有各自的模板簡單地包含文本確認其執行方法(例如「富:: Foo1被稱爲」)等
index方法的模板(foo的模塊中)看起來像這樣:
<html>
<head><title>Test subdomains</title></head>
<body>
<ul>
<li><?php echo link_to('homepage', '@homepage'); ?></li>
<li><?php echo link_to('blog', '@blog'); ?></li>
<li><?php echo link_to('zzzrbyte', '@user_page?subdomain=zzzrbyte'); ?></li>
<li><?php echo link_to('install', '@install'); ?></li>
</ul>
</body>
</html>
網址正確生成(即與在修改routing.yml文件中指定的子域),但是當我點擊「博客」或「zzzrbyte」鏈接,我得到錯誤信息:「找不到服務器」
例如,我得到這個消息:
未找到服務器Firefox無法在 blog.portal.localhost上找到服務器。
AFAICT,我完全按照在線指示,所以我不能看到我的錯在哪裏。任何人都可以發現可能導致這個問題的原因嗎?
[更新]]
我才意識到,通過增加子域到我的hosts文件,這似乎擺脫了這個問題。我不確定這是修復還是臨時解決方法。如果這是做事的方法,我想知道爲什麼這樣一個重要的信息被排除在筆記之外?
如果這是讓事情發揮作用的方式,這意味着必須事先知道子域名(即不是動態生成並在運行時解析),還有 - 我不確定這樣的解決方案是如何工作的一臺遠程服務器,因爲我在一臺物理機器上運行多個網站(作爲虛擬服務器),並且我沒有在服務器上使用主機文件。
任何幫助將不勝感激。