1 、 php 网站的 301 跳转
现在网上有很多说法,就拿 PHP 的网站程序来说,很多人说修改 index.php 文件可以做 301 重定向,这样可以看似 301 重定向成功了,但用 301 检测工具会发现做了两次 301 重定向,最后转到的 200 是 index.html 。
这里说一下采用 web.config 配置文件做 301 重定向。主机需支持 Urlrewrite,一般情况下主机都支持 Urlrewrite 的,一个小模块,空间商都会安装上。
下面是 web.config 文件:不管是 weixiaoduo.com 转向 www.weixiaoduo.com, 还是网站换新域名都可以。
比如 www.weixiaoduo.cn 转向 www.weixiaoduo.com
将修改好的文件上传到网站的根目录。这里由于上传不了文件,所以教大家用 DW 创建 web.config 文件。用 DW 新建一个 XML,把新创建 XML 里 的代码删除,将上面的代码复制到新创建的 XML 里,点击菜单文件—另存为—修改名字和后缀,即文件名改为 web.config 。然后将该文件上传到网站根 目录就 OK 了。最后到主机控制面板看下默认主页是否是 index.html,要将默认主页修改为 index.html 才行。
2 、 IIS 下 301 设置
Internet信息服务管理器 -> 虚拟目录 -> 重定向到 URL,输入需要转向的目标 URL,并选择 “资源的永久重定向” 。
3 、 ASP 下的 301 转向代码
<%@ Language=VBScript %>
<% if request.ServerVariables("SERVER_NAME")="bbs.weixiaoduo.com" or request.ServerVariables("SERVER_NAME")="weixiaoduo.com" then Response.Status="301 Moved Permanently" Response.AddHeader "Location", "https://www.weixiaoduo.com/" Response.End end if %>
4 、 ASP.Net 下的 301 转向代码
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = “301 Moved Permanently”;
Response.AddHeader(”Location”,”www.weixiaoduo.com/301/“);
}
5 、 CGI Perl 下的 301 转向代码
$q = new CGI;
print $q->redirect(”www.weixiaoduo.com/301/”);
6 、 JSP 下的 301 转向代码
<% response.setStatus(301); response.setHeader(“Location”, “www.weixiaoduo.com/301/); response.setHeader(“Connection”, “close”); %>
7 、 Apache 下 301 转向代码
新建。 htaccess 文件,输入下列内容(需要开启 mod_rewrite):
1)将不带 WWW 的域名转向到带 WWW 的域名下
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^lesishu.cn [NC]
RewriteRule ^(。*)$www.weixiaoduo.com/301/[L,R=301]
2)重定向到新域名
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^(。*)$www.weixiaoduo.com/301/ [L,R=301]
3)使用正则进行 301 转向,实现伪静态
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^news-(。+)/.html$ news.php?id=$1
将 news.php?id=123 这样的地址转向到 news-123.html
8 、 Apache 下 vhosts.conf 中配置 301 转向
为实现 URL 规范化,SEO 通常将不带 WWW 的域名转向到带 WWW 域名,vhosts.conf 中配置为:
ServerName www.weixiaoduo.com/
DocumentRoot /home/seotest
ServerName weixiaoduo.com
RedirectMatch permanent ^/(。*)www.weixiaoduo.com/301/
上面说过这种跳转方式是搜索引擎认可的,搜索引擎的设计者以及考虑到一个域名并不一定会跟随一个网站一辈子,利用这种跳转方式可以让搜索引擎认 为您 “永久” 放弃这个域名并启用了新的域名,那么搜索引擎会把你的老域名相应权重转移到新的域名上来。不过这里要说明一下,并不是通过 301 跳转就能使权 重完全转移的,这个还有很多因素决定。