多级城市二级域名的实现方案
有点类似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提取对应城市信息 加载视图
博客等二级域名也是同样的道理
谢谢楼主的分享~~~:(:( 学习了{:1_1:} 谢谢!马克下 能再详细的讲解下就更棒了
页:
[1]