2015-01-01 58 views
1

我正在網站上工作。目前該網站的目標是爲特定地理區域的用戶提供服務。現在我想將其用戶基礎擴展到另一個區域。需要將不同的內容用於具有相同基本功能的不同區域。擴大網站 - 在不同地方提供不同的內容

我最初的想法(我聽起來可能是noob)在不同的數據庫上託管不同區域的內容 - >將用戶重定向到特定的域,從而映射用戶的地理位置。建議是否有正確的方法進行。

另外,我想知道是否有需要本地化我的網站爲這些地區(使用當前語言是英語)

請發表您在這樣的情況下的經驗,也是你的想法帶來的過渡。

在此先感謝。

回答

0

您如何看待用戶與其特定的區域內容相匹配?

  1. 他們會提供一個選項來選擇?
  2. 你會使用地理功能來確定位置嗎?
  3. 您會使用基於服務器的反向DNS查找來確定位置嗎?
  4. 每個地區會有自己的「入口」網址(又名不同的域名)嗎?

前三個是充滿了自己的具體問題...

呈現選擇/菜單被認爲是不好的形式,因爲它增加了多少「點擊」需要用戶去的他們實際上來的內容。

雖然地理功能在所有現代瀏覽器中得到了廣泛的支持,但它仍然被視爲隱私問題,因爲大量用戶不會「允許」功能,這意味着您必須回退選擇/菜單方法無論如何。

基於服務器的反向DNS雖然很常見,但是很不可靠,因爲許多用戶正在使用VPN,代理服務器,TOR等通過這種查找方式專門屏蔽他們的實際位置。

就我個人而言,我的經驗是使用完全獨立的條目URL,它們都是在單個Web服務器上作爲虛擬域託管的。這爲您提供了大量確定使用哪個條目URL訪問代碼的方法,然後適當地格式化/自定義內容。

實際上不需要設置單獨的服務器和/或數據庫來處理這些不同的域/區域。

隨着中說,即使語言不同地區很常見,它是配置您的服務器和數據庫,以支持一個很好的習慣UTF-8月底到終端,這樣,如果任何語言的特定選項需將來支持,那麼你不需要改變你的代碼來做到這一點。如果您的網站將捕獲任何用戶生成的輸入,則尤其如此。

+0

感謝您的詳細洞察。請詳細說明在單個服務器上使用虛擬域如何消除使用不同數據庫的需要,因爲我希望根據用戶的地理位置爲相同的下劃線應用程序功能提供完全不同的內容。 –

+0

不同的內容仍然只是「數據」,所以如果您使用相同的底層代碼庫,那麼爲一個區域提取數據只是同一個數據庫/數據表/等中的不同鍵。 – ZacWolf

+0

即使您打算使用不同的代碼來處理不同的區域,仍然可以使用相同的數據庫。要麼使用不同的表格,要麼只是建立一個基於區域的關鍵模式。當代碼託管在同一個物理服務器上時,我儘可能使用單個數據庫,因爲您可以定義可以跨不同servlet使用的單個數據庫連接池等。 – ZacWolf

相關問題