2012-11-10
新浪云计算平台 SAE 301/302重定向规则和对应代码

近段时间架在sae上的应用有点不够豆子用,而且更是喜欢上了OpenShift 更强大的功能和灵活的可配置性。虽然速度是减慢了不少,但是也仅是写写博而已,偶尔也记录下折腾过程,所以就找了找sae的301重定向,SAE的配置都写在/config.yaml这个文件中,方法来自吾爱IT网的《在 新浪云计算平台 SAE 301/302重定向规则和对应代码》。 官方说法 301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 301 redirect: 301 代表永久性转移(Permanently Moved)。 302 redirect: 302 代表暂时性转移(Temporarily Moved )。 现实中的差异 1.对于用户 301,302对用户来说没有区别,他们看到效果只是一个跳转,浏览器中旧的URL变成了新的URL。页面跳到了这个新的url指向的地方。 2.对于引擎及站长 302转向可能会有URL规范化及网址劫持的问题。可能被搜索引擎判为可疑转向,甚至认为是作弊。 ————————————————————————————————————– 对于SAE独立域名和二级域名 当应用绑定了自己的独立域名后发现原来的二级域名还是能正常访问的,知道SEO的同学会清楚,这会使搜索引擎认为是重复页面。于排名不利,且会给用户造成疑惑。我们需要配置下 config.yaml 以我的主页为例 http://www.laifuying.com 之前的二级域名是 http://lai.sinaapp.com 最简单的301重定向代码

- rewrite:if(in_header[“host”] ~ “^lai.sinaapp.com” && path ~ “^(.*)$”) goto “http://www.laifuying.com$1 [L,QSA,R=301]“

以下是302转向。临时转向定义

- rewrite:if( in_header[“Host”] !~ “www.laifuying.com" && path ~ “(.*)” ) goto “http://www.laifuying.com$1?%{QUERY\_STRING}" //只要不是www.laifuying.com就跳转到。。。。

以下是301重定向。。

# filename: config.yaml
name: your app name
version: 1
handle:
if( path ~”(.*)”) goto “301.php?url=$1”

新建 301.php 文件

Read More