Heim > Artikel > Backend-Entwicklung > 分城市的分站系统如何建立,求思路
想做一个分站系统,主要是针对不同的城市显示和管理不同的内容。
没有做过,求一个思路,谢谢大家。
比如,我进入北京,这个网上就只显示北京的相关信息。
进上海,就只显示上海的相关信息。
求各位给我一个思路。
用服务器rewrite可以做到
大体思路是这样:通过客户的IP地址获取所在的城市名称,通过城市名称去对应自己网站的分站域名。
一般都有一个IP地址库,这个库可以对应出相应的城市名称,将城市名称对应自己的网站二级域名,在服务器上做好解析。这样就可以了。
比如我的信息街:
北京:beijing.xinxijie.net
上海:shanghai.xinxijie.net
其它未知的就直接解析到www.xinxijie.net
我就是通过这样的方法可以进行对应。
大体思路是这样:通过客户的IP地址获取所在的城市名称,通过城市名称去对应自己网站的分站域名。
一般都有一个IP地址库,这个库可以对应出相应的城市名称,将城市名称对应自己的网站二级域名,在服务器上做好解析。这样就可以了。
比如我的信息街:
北京:beijing.xinxijie.net
上海:shanghai.xinxijie.net
其它未知的就直接解析到www……
有两种情况:
(1)用户直接输入二级域名(2)用户输入的是主站,但是程序要自动跳转到二级域名。像58同城赶集那样
最好的办法是从你们公司自己的dns解析去设置,这是效率最高的。如果这个做不到,还可以在你们所有服务器前端做一个反向代理server,比如nginx,它有个扩展模块好像叫geo的模块,可以从这里配置,不同地区的ip段代理到不同的分站。最差的方法就是从程序上判断。三种方式都可以实现。
好吧,最土的方法就是让用户选择地区...嗯 然后读取不同的数据库数据.
好吧,最土的方法就是让用户选择地区...嗯 然后读取不同的数据库数据.
这不叫分站了吧,哈哈。
根据用户的ip自动选取分站的网站,不过还是要通过数据库存取不通的url吧。
最好的办法是从你们公司自己的dns解析去设置,这是效率最高的。如果这个做不到,还可以在你们所有服务器前端做一个反向代理server,比如nginx,它有个扩展模块好像叫geo的模块,可以从这里配置,不同地区的ip段代理到不同的分站。最差的方法就是从程序上判断。三种方式都可以实现。
dnspod有这个功能。
最好的办法是从你们公司自己的dns解析去设置,这是效率最高的。如果这个做不到,还可以在你们所有服务器前端做一个反向代理server,比如nginx,它有个扩展模块好像叫geo的模块,可以从这里配置,不同地区的ip段代理到不同的分站。最差的方法就是从程序上判断。三种方式都可以实现。
其实也算是“云”的概念吧。哈哈哈
一般两个办法:
1、使用rewrite可以做到
2、根据客户的IP地址获取所在的城市,然后通过城市名称去你的库里找对应自己网站的分站域名。
问题的重点不在这儿,我最想知道的是,数据该如何加构,上面各位楼主说的都对,通过IP然后绑定城市域名,那我最想知道的是数据该如何架构,比如我现在进入的是上海站,那就只能看到上海站的相关信息
是不是每个表当中都加一个字段为标志,那这样太麻烦了,每个表当中都要加一个字段来存城市
对,我就是那么控制的,不过城市越多信息量大的时候,会影响速度的。到现在还没有找到更好的思路。