接到网友询问zz.58.com这种如何实现的提问,我现在把这种方式的代码分享给大家。
Common/Conf/config.php
return array(
'APP_SUB_DOMAIN_DEPLOY' => 1, // 开启子域名配置
'APP_SUB_DOMAIN_RULES' => array(
'www' => array('Home','city=zz'),//www指向主站,也可留空,让程序先进行IP自行判断访客来源城市
'lbs' => 'Admin',
'lbc' => 'Lbc',
'biz' => 'Biz',
'm' => 'Wap',
'*' => array('Home','city=*'), // 二级泛域名指向城市模块
),
);
这里需要做一个域名泛解析,就是你配置域名解析*.58.com到你的网站服务器IP或者Cname。
这个时候,需要注意一点,使用zz.58.com这样的域名访问时,city=zz每个zz.58.com的页面都有这个参数,对于支付宝等某些需要传值给外部服务器的程序就可能导致出错,多传了参数,因此需要针对具体页面进行屏蔽。
其他的步骤就不详解了,无非就是根据city来读取对应城市的数据,显示页面。
这个Index控制器不需要使用Empty操作了。
namespace Home\Controller;
use Think\Controller;
class IndexController extends CommonController{
public function index($p=1){
//$p分页使用
$cityName = $_GET(city);
echo "分站是".$cityName;
}
}
其他代码可参考
http://www.thinkphp.cn/code/733.html自行修改