说的站群,大家都不陌生,就是由很多站点组成的网站,一些不太专业的站长会片面的认为不同域名组成的站点,其实这是错误的。
即使一个域名通过泛解析可以形成无数站点,这些站点形式是二级域名或者三级域名甚至是四级域名形成,这都是属于站点,所以,站群不是由不同域名直接组成,而是由站点组成,子站也属于站点。
下面讲一下,站群在阿里云服务器上的应用及管理,以我们研发的泛二级域名无限子站站群为例。
我们要在阿里云服务器上布局站群,而我们研发的泛二级域名站群,是由不同域名组成,也就是说有n个域名,域名数量不限制,每个域名都可以无限泛二级域名,俗称泛域名、泛站群。
第一步,要把n个域名都要进行泛解析到固定ip上,也就是我们购买的阿里云服务器的静态ip,记住,每个域名都要解析,如果域名比较多,上千域名,可以利用工具进行批量解析,一般官方都会提供,可以向官方客服索取。
第二步,登陆阿里云服务器,打开iis信息服务管理器,创建站点,在绑定域名哪里,一定设置一个空主机头,不要绑定具体某个域名,ip选择对,也和域名批量解析的ip保持一致。
这时就搭建好了站点,站群站点,非常简单。
讲一下传输原理,批量解析的域名怎么和云服务器之间传输的,要说下,单个域名解析时,一定注意每个域名在dns解析时,一定要用“*”表示,“@”是针对不带www的解析,类似一个二级域名而已,一定要区分好“*”和“@”的区别,很多站长还是不太清楚。
当用户通过域名请求时,dns服务器就是把用户的请求映射到对应的ip上,也就是云服务器上,每个云服务器至少有一个固定ip。用户的请求到达云服务器,由于设置了空主机头,任何一个域名都可以映射到对应的ip上,这时数据到达站点,这是利用编程语言对来自不同的域名进行处理和分发,不同域名利用程序控制找到相关的数据。
下面列举几个不同编程语言的接受域名的代码:
ASP代码
Request.ServerVariables("SERVER_NAME")
也可以
Request.ServerVariables("HTTP_HOST")
php代码
'APP_SUB_DOMAIN_DEPLOY' => 1, // 开启子域名配置
'APP_SUB_DOMAIN_RULES' => array(
'*' => array('Test/Index','a=domain'), //
)
c#代码
string requestDomain = httpContext.Request.Headers["host"];
if (!string.IsNullOrEmpty(requestDomain))
{
if (requestDomain.IndexOf(":") > 0)
{
requestDomain = requestDomain.Substring(0, requestDomain.IndexOf(":"));
}
else
{
requestDomain = httpContext.Request.Url.Host;
}
}
这样不同域名,在数据库中请求不同的数据,就形成了不同站点,可能这些站点的模板都类似,但是数据不同,在搜索引擎“眼中”,模板相同,数据不同,站点仍然属于不同站点。很多站长认为会被搜索引擎惩罚,其实错误的观点,如果模板相同,内容不同也算是重复的话,类似wordpress、zblog、dedecms不都要受到惩罚了吗。
搜索引擎最重要的是内容,而不是网站页面长什么样子,用户主要获取的是内容,持续输出优质原创文章,才是优质站群的根本。
同理,不同站点在同一个云服务器上也不会受到惩罚,只要内容优质,不是那种垃圾内容,都可以在搜索引擎平台上获取较好的展现。