|
有点类似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 提取对应城市信息 加载视图
博客等二级域名也是同样的道理
|
|