站群做项目之一个域名同时做多个行业的词架构设计思路分享
一个域名同时做好几个项目,祛斑、狐臭、影视同时在一个域名下,如何设计redis分配呢?
mysql数据库设计两个表一个存储domains存储域名信息,后台发布到内存,前端识别用以下代码
/*查找domain信息*/
$store_domain=$main_domain;//储存标识
$domain_info=array();
for($i=0;$i<$yumi_level;$i++){
$arr_new=array_slice($arr_host_kick_yumi, $i,$yumi_level);
$domain_row=implode('.', $arr_new).$yumi;
if($domain_info=$pika->get('domains_'.str_replace('.', '-', $domain_row))){
$domain_info=unserialize($domain_info);
$store_domain=$domain_row;
break;
}
}
tb_sites表存储具体项目的信息,两表之间用domain进行关联,后台发布到内存
前端调取的时候如何识别某个随机url属于那个分类项目呢?
// 链轮权重信息
$arr_lianluns=array();
$arr_lianluns_quanzhong=array();
if(trim($domain_info['lianluns'])!=''){
$arr_domain_lianluns=explode("\n", trim($domain_info['lianluns']));
if(count($arr_domain_lianluns)>0){
foreach ($arr_domain_lianluns as $key => $value) {
$arr_row=explode('|', $value);
$row_lianlun=trim($arr_row[0]);
$arr_lianluns[]=$row_lianlun;
$quanzhong=1;
if(isset($arr_row[1]))
$quanzhong=trim($arr_row[1]);
$arr_lianluns_quanzhong[$row_lianlun]=$quanzhong;
}
}
}
如果是没有符合预先规则的url,通过后台权重分配随机选一个分类然后锁定。
如果确定好某个项目,通过以下代码查找具体的分站点信息
/*查找domain dirs_of_site信息*/
if($dirs_info=$pika->get('dirs_of_site_'.str_replace('.', '-', $store_domain))){
$dirs_info=unserialize($dirs_info);
}else{
show404();
souji($is_souji,2,$now_domain,$url,$ip,'未找到dirs_info信息',$ip_duan_id_domain,0);
exit();
}
if($k_lianlun==''){ //链轮还没确定 再匹配正则
/*查找domain geshi_of_site信息*/
if($geshi_info=$pika->get('geshi_of_site_'.str_replace('.', '-', $store_domain))){
$geshi_info=unserialize($geshi_info);
}else{
show404();
souji($is_souji,2,$now_domain,$url,$ip,'未找到格式信息',$ip_duan_id_domain,0);
exit();
}
// print_r($geshi_info);
foreach ($geshi_info as $geshi_row => $lianlun_row) {
$row_zhengze=get_zhengze($geshi_row);
if(preg_match($row_zhengze, $_SERVER['REQUEST_URI'])){
$k_lianlun=$lianlun_row;
break;
}
}
// echo '[1:'.$k_lianlun.']';
}
这样就能够很好的实现多个项目同时并存于某个域名下,都是通过目录的形式整体提高权重,先做基础词,再做目标词!
基础词养站,到了一定程度就投放新项目