阿里云CDN使用

重点

  • 如何配置
  •  CNAME不能直接访问!

申请与配置

申请

使用阿里云的域名,存储,服务器在开通过程中问题比较少

官网一键开通教程,给钱办事

配置

官网教程:https://help.aliyun.com/document_detail/27112.html?spm=5176.doc27114.6.117.AbP4Ma

说一下里面的问题:

  1. 基本信息
        1. 加速域名

    这里写你主站的域名,www和已经域名分别尽心一次CDN加速的操作。

    业务类型填写为图片小文件加速,此类用于网页加速(腾讯的CDN似乎有刷新策略,阿里手动刷新)

    源站类型用ip,另外会有80端口和443端口的问题

  2. 绑定CNAME
      1. 在域名解析里面绑定需要加速的域名到提供的CDN域名上

    大问题:CNAME不能直接访问,只有加速域名解析之后才能通过加速域名访问,开始我以为是自己的设置不对。如何添加CNAME解析看官方文档。这里注意把相同的A解析删掉(暂停貌似不行)。注意www和默认都要走一次完整的CDN加入策略。另外解析的时候加速域名必须和CNAME对应。如果把www.liuqi.xyz对应到liuqi.xyz.w.kunkun.com(加速的CNAME),则www.liuqi.xyz不能访问(应该有验证机制)。

  3. 理解:CDN是把你网站的内容静态存储在缓存节点上达到高速访问的目的;www域名是个二级域名,和一级域名还是有区别的

 

编解码的坑

开始

今天准备研究一下编解码的问题.

直接原因:

新农人的地区统计和搜索引擎挂掉.

长期原因:

长期受这个因素的困扰

研究内容:

主要是web页面能看

另外的,数据库的存储,文本的存储,shell的显示与存储

正文

遇到的问题:

  1. 新农人的搜索关键词显示挂掉
  2. 通过win下poweshell导出git log乱码
    1. 问题出在windows下
    2. 设置cmd的utf8代码后更难用了… http://garyli.iteye.com/blog/1684161
  3. 其他

主要内容:

涉及的编码:

  • Unicode utf-8, utf-8 with bom utf16?
  • ascii
  • gbk
  • ansi

 

ecshop浏览统计

ecshop浏览统计

real ip

  • HTTP_X_FORWARDED_FOR
  • HTTP_CLIENT_IP
  • REMOTE_ADDR

地址

通过实际ip判断,一般用第三方的库实现。第三方的库:在线,淘宝,新浪;离线,纯真,ipip

浏览器

通过$_SERVER[‘HTTP_USER_AGENT’],判断不同的浏览器特定的字符串

搜索引擎关键字

HTTP_REFERER

不同的搜索引擎有不同的编写方法

    if (strpos($domain, 'google.com.tw') !== false && preg_match('/q=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'GOOGLE TAIWAN';
        $keywords = urldecode($regs[1]); // google taiwan
    }
    if (strpos($domain, 'google.cn') !== false && preg_match('/q=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'GOOGLE CHINA';
        $keywords = urldecode($regs[1]); // google china
    }
    if (strpos($domain, 'google.com') !== false && preg_match('/q=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'GOOGLE';
        $keywords = urldecode($regs[1]); // google
    }
    elseif (strpos($domain, 'baidu.') !== false && preg_match('/wd=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'BAIDU';
        $keywords = urldecode($regs[1]); // baidu
    }
    elseif (strpos($domain, 'baidu.') !== false && preg_match('/word=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'BAIDU';
        $keywords = urldecode($regs[1]); // baidu
    }
    elseif (strpos($domain, '114.vnet.cn') !== false && preg_match('/kw=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'CT114';
        $keywords = urldecode($regs[1]); // ct114
    }
    elseif (strpos($domain, 'iask.com') !== false && preg_match('/k=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'IASK';
        $keywords = urldecode($regs[1]); // iask
    }
    elseif (strpos($domain, 'soso.com') !== false && preg_match('/w=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'SOSO';
        $keywords = urldecode($regs[1]); // soso
    }
    elseif (strpos($domain, 'sogou.com') !== false && preg_match('/query=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'SOGOU';
        $keywords = urldecode($regs[1]); // sogou
    }
    elseif (strpos($domain, 'so.163.com') !== false && preg_match('/q=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'NETEASE';
        $keywords = urldecode($regs[1]); // netease
    }
    elseif (strpos($domain, 'yodao.com') !== false && preg_match('/q=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'YODAO';
        $keywords = urldecode($regs[1]); // yodao
    }
    elseif (strpos($domain, 'zhongsou.com') !== false && preg_match('/word=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'ZHONGSOU';
        $keywords = urldecode($regs[1]); // zhongsou
    }
    elseif (strpos($domain, 'search.tom.com') !== false && preg_match('/w=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'TOM';
        $keywords = urldecode($regs[1]); // tom
    }
    elseif (strpos($domain, 'live.com') !== false && preg_match('/q=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'MSLIVE';
        $keywords = urldecode($regs[1]); // MSLIVE
    }
    elseif (strpos($domain, 'tw.search.yahoo.com') !== false && preg_match('/p=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'YAHOO TAIWAN';
        $keywords = urldecode($regs[1]); // yahoo taiwan
    }
    elseif (strpos($domain, 'cn.yahoo.') !== false && preg_match('/p=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'YAHOO CHINA';
        $keywords = urldecode($regs[1]); // yahoo china
    }
    elseif (strpos($domain, 'yahoo.') !== false && preg_match('/p=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'YAHOO';
        $keywords = urldecode($regs[1]); // yahoo
    }
    elseif (strpos($domain, 'msn.com.tw') !== false && preg_match('/q=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'MSN TAIWAN';
        $keywords = urldecode($regs[1]); // msn taiwan
    }
    elseif (strpos($domain, 'msn.com.cn') !== false && preg_match('/q=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'MSN CHINA';
        $keywords = urldecode($regs[1]); // msn china
    }
    elseif (strpos($domain, 'msn.com') !== false && preg_match('/q=([^&]*)/i', $path, $regs))
    {
        $searchengine = 'MSN';
        $keywords = urldecode($regs[1]); // msn
    }

 

操作系统

HTTP_USER_AGENT

通过win和nt版本判断windows版本

其他慢慢判断