Php 创建特定于城市的网站(city1.example.com、city2.example.com)
我如何建立一个网站的子域迎合不同的城市 像Php 创建特定于城市的网站(city1.example.com、city2.example.com),php,javascript,jquery,mysql,content-management-system,Php,Javascript,Jquery,Mysql,Content Management System,我如何建立一个网站的子域迎合不同的城市 像http://philly.example.com,http://maine.example.com,http://sandiego.example.com?大部分的网站都是一样的,比如布局,文字,数据库,界面。与此不同的是一些特定于城市的图形,如在徽标中添加城市名称(如纽约Groupon、芝加哥Groupon),以搜索数据库的形式更改隐藏变量(城市),从而使结果偏向城市 问题1。用户访问网站。脚本根据用户的IP地址确定城市,然后重定向到正确的子域 我可
http://philly.example.com
,http://maine.example.com
,http://sandiego.example.com
?大部分的网站都是一样的,比如布局,文字,数据库,界面。与此不同的是一些特定于城市的图形,如在徽标中添加城市名称(如纽约Groupon、芝加哥Groupon),以搜索数据库的形式更改隐藏变量(城市),从而使结果偏向城市
问题1。用户访问网站。脚本根据用户的IP地址确定城市,然后重定向到正确的子域
我可以做检测脚本,但是你如何向不同的城市显示几乎相同的站点呢?我猜你不会复制50个不同城市的网站50次,处理每个网站的变化将是疯狂的
问题2:假设您不会每次为一个新城市复制站点,并稍微更改图像和文本,那么如何进行城市特定的更改
对于页面上的每个城市特定项目,您是否有50个案例ifs
或if elseif else
的列表?我预计这样做会弄乱整个页面的代码 Q1)你在数据库中有城市,然后你想显示什么,就按cityid做
问题2)同样,通过cityid显示数据。使用通配符DNS/web设置相当简单
*.example.com
映射到服务器的IP地址ServerAlias*.example.com example.com
$\u SERVER['HTTP\u HOST']
来确定用户正在访问哪个子站点,并从中定制您的内容这实际上取决于每个城市的信息差异有多大。看来你真的有三个选择
SANDIEGO->logo->“img/SANDIEGO.gif”
)如果使用选项1,您所要做的就是将当前使用的数据库更改为特定于城市的数据库。对于选项2,您只需设置全局cityId,因此所有查询都是针对该特定城市进行的。为此,您可以创建两个表 表1:
id INT Primary key
city_name VARCHAR 255
表2:
id INT Primary key
city_id INT Foreign key
page_id INT
page_content TEXT
有很多不同的方法。这取决于每个城市是有不同的内容,还是只有少数几个。否则,它将更具技术性,因为您需要确定哪些内容将适用于哪个城市。这需要对您的sql表进行调整。Luke:不同的站点之间几乎没有差异,只是不同的数据库以及一些img和单词的差异。欢迎光临@thethethethethethethethethethethethethethethethethethethethethey如果你有不同的“内容”,你有主机,你可以有许多不同的数据库,我会选择不同的数据库。因为它很好地分开,所以更干净。我也有类似的问题,我让人们根据自己的选择来搜索东西。基于这个选择,我正在更改数据库(在推进orm中),然后它使用不同的带有标签的表(即,city_名称将被其他名称替换。我还为img和css管理了不同的文件夹,如/img/$selectionId/general.css。如果css文件不存在,那么它将使用仅为默认值的通用文件。为什么这不是一个真正的问题?我不知道如何解决这个问题。。。