您现在的位置是:网站首页> 内容页

关于网站的千站问题(不同城市显示不同)

  • 【王彬】
  • 2020-03-16
  • 349人已阅读
千站  
简介关于网站的千站问题




关于网站的千站问题


需求:根据不同城市显示不同子域名以及对应的不同页面。


思路:1.首先要让域名接收泛解析。

      2.其次每个子域名要自己生成。

      3.最后根据不同的子域名信息解析不同网页。


解决:

    1.首先要让域名接收泛解析。

    服务器nginx配置

 listen 80 default_server;
	listen 443 ssl http2 default_server;
    listen [::]:80 default_server;
    #server_name jhzh66.com shop.jhzh66.com www.jhzh66.com zz.jhzh66.com hs.jhzh66.com;
    server_name *.jhzh66.com;
	index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/zz_jhzh66_com/public_html;
    
      if ( $host ~ ^(.+).jhzh66.com ) {
              set $city $1;
          		rewrite (.*)$1?app/index.php?i=8&c=entry&do=shop&m=sz_yi&city=$city break;
    }

期中关键配置:

server_name *.jhzh66.com;


2.其次每个子域名要自己生成。

    这一步我是通过前端js处理,思路是,先获取本来域名,然后在域名前面加上对应的信息,比如说我的域名是 www.jhzz66.com ,当我点击黄石这个城市的时候,他要访问 www.huangshi.jhzz66.com    


3.最后根据不同的子域名信息解析不同网页。

    我这里使用的php

具体代码如下

<?php
//$str="http://www.beijing.jhzz66.com";

//$str="https://www.huangshi.jhzz66.com";

//$str="huangshi.jhzh66.com";


$str="jhzz66.com";

//判断是否有www
//www首次出现的位置
//jhzz66首次出现的位置

if(strpos($str,'www') !== false){   //包含www
    //获取www首次出现的位置
    //获取jhzz首次出现的位置
    $w=strpos($str,'www');
    $j=strpos($str,'jhzz66');
    $res=substr($str,$w+4,-11);
    echo $res;

}else{
    $j=strpos($str,'jhzz66');
    if($j==0){
        $res=$str;
    }else{
        $res=substr($str,0,-11);
    }
    echo $res;

}

实际项目代码

if(strpos($str,'www') !== false){   //包含www
    //获取www首次出现的位置
    //获取jhzz首次出现的位置
    $w=strpos($str,'www');
    $j=strpos($str,'jhzz66');
    $city=substr($str,$w+4,-11);//有了城市选择
    
    $sql="SELECT * from hs_sz_yi_city_desc WHERE citypinyin like  '%".$city."%'";
    $city=pdo_fetch($sql);
    include $this -> template('shop/index_demo');
    

}else{
    $j=strpos($str,'jhzz66');
    if($j==0){
    	
    	
    
    	    	include $this -> template('shop/index');
        
    }else{
        $city=substr($str,0,-11);
        
       
	    $sql="SELECT * from hs_sz_yi_city_desc WHERE citypinyin like  '%".$city."%'";
	    $city=pdo_fetch($sql);
	    include $this -> template('shop/index_demo');
    }
    

}

  

展示效果图:

image.png

image.png

文章评论

Top