2015-01-01 59 views
1

我正在网站上工作。目前该网站的目标是为特定地理区域的用户提供服务。现在我想将其用户基础扩展到另一个区域。需要将不同的内容用于具有相同基本功能的不同区域。扩大网站 - 在不同地方提供不同的内容

我最初的想法(我听起来可能是noob)在不同的数据库上托管不同区域的内容 - >将用户重定向到特定的域,从而映射用户的地理位置。建议是否有正确的方法进行。

另外,我想知道是否有需要本地化我的网站为这些地区(使用当前语言是英语)

请发表您在这样的情况下的经验,也是你的想法带来的过渡。

在此先感谢。

回答

0

您如何看待用户与其特定的区域内容相匹配?

  1. 他们会提供一个选项来选择?
  2. 你会使用地理功能来确定位置吗?
  3. 您会使用基于服务器的反向DNS查找来确定位置吗?
  4. 每个地区会有自己的“入口”网址(又名不同的域名)吗?

前三个是充满了自己的具体问题...

呈现选择/菜单被认为是不好的形式,因为它增加了多少“点击”需要用户去的他们实际上来的内容。

虽然地理功能在所有现代浏览器中得到了广泛的支持,但它仍然被视为隐私问题,因为大量用户不会“允许”功能,这意味着您必须回退选择/菜单方法无论如何。

基于服务器的反向DNS虽然很常见,但是很不可靠,因为许多用户正在使用VPN,代理服务器,TOR等通过这种查找方式专门屏蔽他们的实际位置。

就我个人而言,我的经验是使用完全独立的条目URL,它们都是在单个Web服务器上作为虚拟域托管的。这为您提供了大量确定使用哪个条目URL访问代码的方法,然后适当地格式化/自定义内容。

实际上不需要设置单独的服务器和/或数据库来处理这些不同的域/区域。

随着中说,即使语言不同地区很常见,它是配置您的服务器和数据库,以支持一个很好的习惯UTF-8月底到终端,这样,如果任何语言的特定选项需将来支持,那么你不需要改变你的代码来做到这一点。如果您的网站将捕获任何用户生成的输入,则尤其如此。

+0

感谢您的详细洞察。请详细说明在单个服务器上使用虚拟域如何消除使用不同数据库的需要,因为我希望根据用户的地理位置为相同的下划线应用程序功能提供完全不同的内容。 –

+0

不同的内容仍然只是“数据”,所以如果您使用相同的底层代码库,那么为一个区域提取数据只是同一个数据库/数据表/等中的不同键。 – ZacWolf

+0

即使您打算使用不同的代码来处理不同的区域,仍然可以使用相同的数据库。要么使用不同的表格,要么只是建立一个基于区域的关键模式。当代码托管在同一个物理服务器上时,我尽可能使用单个数据库,因为您可以定义可以跨不同servlet使用的单个数据库连接池等。 – ZacWolf

相关问题