用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4079|回复: 4
收起左侧

[讨论/交流] 多级城市二级域名的实现方案

[复制链接]
发表于 2012-4-9 16:05:21 | 显示全部楼层 |阅读模式
有点类似58同城的做法
也就是我使用的方法  拿aa.com  举例切换城市页面可以用index.html  或是其它  
apache 解析*.aa.com
.htacess 控制访问权限 www 和非www 能执行的目录等
RewriteCond %{HTTP_HOST} www\.aa\.com  [NC]
规则处理
RewriteCond %{HTTP_HOST} (.*)\.aa\.com  [NC]
RewriteCond %{HTTP_HOST} !www\.aa\.com  [NC]

非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[0]);    //判断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  提取对应城市信息 加载视图

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




发表于 2012-4-9 20:46:02 | 显示全部楼层
谢谢楼主的分享~~~
发表于 2012-4-20 12:38:21 | 显示全部楼层
学习了
发表于 2013-4-19 09:14:47 | 显示全部楼层
谢谢!马克下
发表于 2013-9-3 10:25:20 | 显示全部楼层
能再详细的讲解下就更棒了

本版积分规则