宝塔后台,nginx+php+mysql
pc端域名 www.sf.com 和 手机端域名 m.sf.com 绑定在同一个目录下;
页面伪静态,为了实现双端访问效果,采用php函数 判断http_host是否是字母'm'开头,调用对应css并修改相应url的http_host。
函数如下:
function m_url($str){
$http_host = htmlentities($_SERVER['HTTP_HOST'], ENT_QUOTES, 'UTF-8');
$is_shouji = substr($http_host, 0, 1) === 'm';
if($is_shouji == "m"){
$m_url = preg_replace('/^(https?:)?(\/\/)(?!m)(.*)$/i', '$1$2m$3', $str);
}else{
$m_url = $str;
}
return $m_url;
}
http_host = m.sf.com 时插入m.css,用m_url替换所有A链接;
伪静态下,一切正常,开启缓存后就不行了。
---【缓存后,无法执行函数,链接全部显示成pc地址了】
请问,有什么好的方案?
不同的域名返回不同的index.html不就好了,你搞哪么麻烦干什么