Skip to content

Latest commit

 

History

History
54 lines (41 loc) · 1.86 KB

301.md

File metadata and controls

54 lines (41 loc) · 1.86 KB

301的几种实现方式

我最近把主页部署在不同地方,如Github, CNPaaS。但是问题是他们都不支持.htaccess。经过一番查找收集,常用的301跳转的几种实现方式如下。

Apache 服务器

使用.htaccess,放在public根目录中,代码如下:

RewriteEngine On
RewriteBase /
Redirect permanent /cn http://cn.whzecomjm.com/
Redirect permanent /en http://en.whzecomjm.com/

nginx 服务器

修改 nginx.conf,在 CNPaaS 或者 Openshift 的部署方式中,在 .openshift 文件夹中有文件 nginx.conf.erb。在 server {} 内加入如下代码即可:

  if ( $request_filename ~ cn/ ) {
    rewrite ^ http://cn.whzecomjm.com/? permanent;
  }
  if ( $request_filename ~ en/ ) {
    rewrite ^ http://en.whzecomjm.com/? permanent;
  }
  error_page  404  /404.html;

Github Pages

Github Pages不支持上述文件,可以在index.html(最好404文件也加上)的头部<head></head>之间加入如下代码:

<script language="javascript" type="text/javascript">
if (location.href == "http://whzecomjm.com/cn/") {
	window.location.replace("http://cn.whzecomjm.com/");
};
if (location.href == "http://whzecomjm.com/en/") {
	window.location.replace("http://en.whzecomjm.com/");
}
</script>

其它 Wordpress 代码

一个好的Wordpress代码资源网站:露兜博客