2015-12-02 35 views
-1

我正在開發一個擴展項目,需要支持多領域和多語言。如何在symfony2中設置多域多語言

我發現管理標準路由的方式並不能以項目所需的有效方式進行覆蓋。

我發現這一點:https://github.com/alexandresalome/multisite-bundle

這是找到它不錯,但我看到了以下缺點: 1)包還沒有真正的大動靜 2)路由設置在控制器/註釋水平,而不是陽明海運的文件,是什麼讓項目難以維護。

您是否知道基於symfony2的這個需求的任何捆綁/策略?非常感謝 !!!

+1

你想做的事是很容易的,總之,讓幾個virtualhosts指向symfony的應用程序,並在路由建立主機名條件 –

回答

0

這並不能解決問題。

這是我的情景:

我有一個參數,我設置了幾臺主機:landing_hosts,由「|」分隔

我有一些着陸,這僅適用於那些主機,路由:降落

當一個請求到來時,我看不到任何方式動態設置當前主機的默認=>主機條目。我不得不指定一個,即%domain%。這是以這種方式工作的,因爲有一個緩存文件appDevUrlGenerator.php在首次訪問網站時創建,或者運行命令app/cache cache:clear。

如果我以host2身份訪問登錄頁面,樹枝模板內部創建的URL和路徑將跟隨hosts1而不是hosts2,並且這是無效的。

// parameters.yml

parameters: 
    landing_hosts: host1|host2 
    main_host: host1 

// routing.yml中

landings: 
    host: "{hosts}" 
    path: /
    defaults: { _controller: FrontendBundle:Landings:index } 
    requirements: 
     hosts: %landing_hosts% 
    defaults: 
     hosts: %main_host%