一些朋友可能会使用比较苯的方法,在每个 Controller 下都加上 Response.RedirectPermanent 方法。较为简单的做法是在 Global.axax.cs 中加入下边的代码:
代码如下 | 复制代码 |
protected void Application_BeginRequest(object sender, EventArgs e) { string strUrl = Request.Url.ToString().Trim().ToLower(); if (strUrl.Contains("http://111cn.net")) { Response.RedirectPermanent("http://www.111cn.net"); //not good } } |
好果你比较认真的话,会发现这个写法有些不太友好,下边的写法显得更好些:
代码如下 | 复制代码 |
Response.RedirectPermanent(strUrl.Replace("http://111cn.net", "http://www.111cn.net")); |
//good本篇内容非常简
在.htaccess文件中增加301重定向指令
采用“mod_rewrite”技术,形如:
代码如下 | 复制代码 |
RewriteEngine on RewriteRule ^(.*)$ http://xxx.com/$1 [R=301,L] |
1.重定向domain.com到www.domain.com
这种重定向旨在使域名唯一,是网站SEO必须要做的,后面重定向www.domain.com到domain.com也是出于同样的原因,只是形式不同。打开.htaccess文件,加入以下规则。(下面的规则是针对主域名的,子域名要修改)
代码如下 | 复制代码 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC] RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301] |
2.重定向www.domain.com到domain.com
代码如下 | 复制代码 |
RewriteEngine On RewriteCond %{HTTP_HOST} !^domain.com$ [NC] RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301] |
3.重定向olddomain.com到www.newdomain.com
代码如下 | 复制代码 |
RewriteEngine On RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://www.newdomain.com/$1 [L,R=301] |
4.重定向olddomain.com to newdomain.com
代码如下 | 复制代码 |
RewriteEngine On RewriteBase / RewriteCond %{HTTP_HOST} !olddomain.com$ [NC] RewriteRule ^(.*)$ http://newdomain.com/$1 [L,R=301] |
5.重定向domain.com/file/file.php 到 otherdomain.com/otherfile/other.php
代码如下 | 复制代码 |
RewriteCond %{HTTP_HOST} ^www.domain.com$ RewriteRule ^file/file.php$ http://www.otherdomain.com/otherfile/other.php [R=301,L] |
用ASP/PHP实现301重定向:
ASP:
代码如下 | 复制代码 |
Response.Status="301 Moved Permanently" Response.AddHeader "Location","http:///" Response.End |
PHP:
代码如下 | 复制代码 |
header("HTTP/1.1 301 Moved Permanently"); header("Location:http:///"); exit(); |
时间: 2024-11-16 14:03:51