zhengfeity 发表于 2012-4-9 16:05:21

多级城市二级域名的实现方案

有点类似58同城的做法
也就是我使用的方法拿aa.com举例切换城市页面可以用index.html或是其它
apache 解析*.aa.com
.htacess 控制访问权限 www 和非www 能执行的目录等
RewriteCond %{HTTP_HOST} www\.aa\.com
规则处理
RewriteCond %{HTTP_HOST} (.*)\.aa\.com
RewriteCond %{HTTP_HOST} !www\.aa\.com

非www规则处理

//获取当前所在城市
function cookie_city()
{
      $CI = & get_instance();
      $host = $_SERVER['HTTP_HOST'];
      $ex = explode(".",$host);   
      if(count($ex)>3)//判断域名格式是否正确 比如出现bj.bj.aa.com 就无法访问
      {
                return false;
      }
      else
      {
                $CI->db->where('py',$ex);    //判断bj.aa.com中bj 是否是在城市数据库里面 这可以用城市缓存检测
                $CI->db->where('check',1);
                $query = $CI->db->get('region',1,0);
                if($query->num_rows()<=0)
                {
                        return false;
                }
                else
                {
                        return $query->row_array();   //返回当前所在城市信息
                }
      }
}


在控制器中需要cookie_city 判断一下
如果返回false那么就show_404() 或者处理一下
如果是 true提取对应城市信息 加载视图

博客等二级域名也是同样的道理




jay19979246 发表于 2012-4-9 20:46:02

谢谢楼主的分享~~~:(:(

luoine 发表于 2012-4-20 12:38:21

学习了{:1_1:}

lh529 发表于 2013-4-19 09:14:47

谢谢!马克下

^淡如清风 发表于 2013-9-3 10:25:20

能再详细的讲解下就更棒了
页: [1]
查看完整版本: 多级城市二级域名的实现方案