2015-05-27 18 views
0

我安裝了TYPO3(4.5)並運行了一個項目。 RealUrl擴展程序已安裝並啓用。一切正常。對於RealUrl擴展的正確用戶,我需要在主模板中添加幾行代碼。在TYPO3和RealUrl上使用多個子域

config.simulateStaticDocuments = 0 
config.baseURL = http://www.example.com/ 
config.tx_realurl_enable = 1 

現在我需要訪問不同子域(例如「www1」)的網站。我嘗試了下面的代碼,但它不工作。我不確定我想出的劇本。

host = example.com 
[globalString = IENV:HTTP_HOST=www.example.com] 
host = www.example.com 
[globalString = IENV:HTTP_HOST=www1.example.com] 
host = www1.example.com 
[global] 

config.simulateStaticDocuments = 0 
config.baseURL= http://{$host}/ 
config.tx_realurl_enable = 1 

這是否足以保持系統運行?

+0

這些不同的網站(使用不同的根網頁)還是隻有兩個域名的網站?在第一種情況下,您應該在每個網站的根頁面上設置域記錄,並且您可以(如果需要)爲每個域定義RealURL-config的RealURL-DOMAINS功能。這裏是我遇到的最複雜的情​​況,比你可能需要的更多:http://stackoverflow.com/a/28472627/160968。在第二種情況下,您可能更喜歡將301第二個子域添加到第一個子域。 – Urs

+0

這隻有一個網站。我只需要它可以從兩個子域訪問。而已。你對我的解決方案有什麼看法?會有什麼問題嗎? – user3897384

+0

如果您不使用「canonical」標記,則可能會面臨來自Google的重複內容處罰,並且您可能需要在web服務提供商等Web服務上註冊第二個域。就是這樣,我仍然寧願在.htaccess中使用301,但我認爲它應該可以正常工作。順便說一句,如果你的子域應該與語言有關,你也可以像'[globalString = ENV:HTTP_HOST = www1.example.com] || [globalVar = GP:L = 1]' – Urs

回答

0

變量需要在模板的常量部分進行註冊。 TypoScript不是腳本語言,而是樹型定義集。 我建議跳過所有的變量,而是將以下內容添加到您的TypoScript末尾

config.baseURL = http://example.com 
[globalString = IENV:HTTP_HOST=www.example.com] 
config.baseURL = http://www.example.com 
[globalString = IENV:HTTP_HOST=www1.example.com] 
config.baseURL = http://www1.example.com 
[global] 

此外,您應該使用config.absRefPrefix而不是config.baseURL