2014-11-21 65 views
0

我對domain.com一個網站,該網站在網址的多語種內容,例如:阿帕奇的ProxyPass和多語種域名

  • domain.com/en英語
  • domain.com/de德國
  • domain.com/it對於意大利語

等這些不是真的目錄 - 這些只是重寫到/index.php?lang = ...因此,domain.com/lang/one/two/three被重寫爲/index.php?lang=$1 &路徑= $ 16

它還具有

現在我想改變這種狀況每一種語言都有它自己的領域,我認爲可能持有所有常用文件domain.com/assets目錄(CSS,圖像等)可以通過在Apache中使用mod_proxy,mod_proxy_http和mod_proxy_html進行管理。我想實現的是,如果用戶訪問:

  • www.domain.com他得到的內容從domain.com/en
  • www.domain.de他從domain.com/de
  • 內容
  • www.domain.it他從domain.com/it

內容,如果他訪問/資產目錄從任何網域(.com,由Matchi.com提供回到,。它),他將得到domain.com/內容資產。另外,如果用戶訪問例如URL www.domain.de/something他應該從www.domain.com/de/something接收內容

而另一件事是在輸出之前必須重寫的URL,例如瀏覽domain.de的用戶去所有的域名...

這可能嗎?否則,我們將不得不重新編程整個CMS以針對每種語言使用不同的域...

回答

0

這是可能的。只需在單個虛擬主機中處理它們,然後使用RewriteCond檢查%{HTTP_HOST}並進行與您今天所做的相同的重寫。您可以捕獲國家代碼並使用%1反向引用它。

+0

問題在於CMS使用完整的www.domain.com/lang/ ..... URL生成所有內部鏈接(包括css&js)。如果我們希望CMS生成www.domain.lang網址,我們將不得不重寫整個CMS。這就是爲什麼我正在尋找一種解決方案,它也會更改HTML文檔中的所有URL以更正域,並且從我通過互聯網讀取的內容中,apache的mod_proxy_html可以做到這一點 - 但我無法配置它,無論我嘗試什麼都不起作用 – j99 2014-11-23 19:29:05