雅虎邮箱恢复服务了

自2013年8月19日中国雅虎邮箱正式停止服务后,后缀为 @yahoo.com.cn和 @yahoo.cn的邮箱已无法使用,不幸的是博主的邮箱后缀虽为 @yahoo.com,但还是被停止了服务。

yahoo.com.cn 和 yahoo.cn 是中国雅虎的域名,停止服务无可非议,而 yahoo.com 是雅虎美国的域名,怎么也停止服务呢?从报道中了解到造成这种情况的原因是,后缀为@yahoo.com的邮箱在帐户设置时,把国际化(i18n)设置为了中国(CN),意味着接受了中国雅虎邮箱的服务协议,并把邮件存储在中国雅虎的服务器上,邮箱数据是在中国雅虎服务器上的,所以也属于中国雅虎停止邮箱服务的范围。虽然停止服务后@yahoo.com 邮箱帐户会自动转向美国雅虎邮箱服务,但之前在中国邮箱服务器的归档邮件和联系人信息不会随之迁移,也就是说,邮箱归档会丢失。

几个月前博主尝试登录过邮箱,都提示错误信息:暂时错误: 2。以为雅虎邮箱再也不能使用了,今天在查看邮箱帐户时再次尝试登录,神奇地发现居然可以正常登录了!也算是收获了一个小惊喜。遗憾的是中国雅虎发布公告时那会没留意,没有将邮箱归档进行迁移保留,导致空有邮箱帐户而没有邮箱历史归档。

Nginx配置移动端和电脑端自动双向跳转

场景

域名 描述
pc端 www.example.com 用于pc端访问官网
移动端 m.example.com 用于移动端访问

需求

在电脑端访问www.example.comm.example.com都跳转到www.example.com
在移动端访问www.example.comm.example.com都跳转到m.example.com

实现方法

为了实现跳转,可在页面中加入前端跳转代码JS对ua进行适配跳转。这种方式存在三个缺点:
a) 对用户:会加大由重定向的客户端造成的延迟;这是因为客户端需要先下载网页,接着解析并执行 JavaScript,然后才能触发重定向。301或302则不会有这个延迟。
b) 对搜索:爬虫也需要使用支持JS渲染的爬虫,才能发现此重定向。
c) 无法实现双向跳转或兼容性差:笔者尝试过多种公开代码进行测试,只能实现单向跳转,进行双向跳转时会造成死循环。

关于移动适配,百度的官方建议:
https://ziyuan.baidu.com/college/courseinfo?id=156

为了对用户和搜索引擎更友好,我们采取在Nginx进行跳转配置。

代码

电脑端:www.example.com

server {
      listen       80;
      server_name  www.example.com;

      #charset koi8-r;
      #access_log  logs/host.access.log  main;
    # 下面根据user_agent可以获取
     if ($http_host !~ "^www.example.com$") {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }
     if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://m.example.com$1 permanent;
     }
    location / {
            root     /home/build/rampage-home-front/dist/html;
            index  index.html index.htm;
     }

}

作用部分代码如下:

     if ($http_host !~ "^www.example.com$") {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }
     if ($http_user_agent ~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://m.example.com$1 permanent;
     }

手机端:m.example.com

server {
      listen       80;
      server_name  m.example.com;

      #charset koi8-r;
      #access_log  logs/host.access.log  main;
    #非移动端跳转到 www.example.com
     if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }

    location / {
        root     /home/build/rampage-mobile-front/dist;
        index  index.html index.htm;
      }
}

作用部分代码如下:

if ($http_user_agent !~* (mobile|nokia|iphone|ipad|android|samsung|htc|blackberry)) {
      rewrite  ^(.*)    http://www.example.com$1 permanent;
     }

如果配置了SSL证书,需要在443端口同样配置。