301重定向

我们网站有一个问题一直困扰着我,就是存在两个域名kuchechina.com,http://www.kuchechina.com/

虽说是以http://www.kuchechina.com/为主,但是site我们的域名,隔几页也会有不带www的。怕影响我们域名权重,决定做301重定向。

以前只是听说过301重定响,没有做过。这次做起来,还真遇到一些问题。

IIS重向定,设置比较麻烦,去网上查一些资料,参数都是一堆一堆的,又很难弄明白是怎么回事,就放弃了。下面就想做URL跳转。

URL跳转逻辑很简单,aspx请求可以用HttpModule接管,在HttpModule写跳转问题不是很容易解决了吗?

下面是我的代码

 

namespace  Cars.UI
{
    
public   class  HttpModule : IHttpModule
    {
        
public   void  Init(HttpApplication application)
        {
            application.BeginRequest 
+=  ( new  EventHandler( this .Application_BeginRequest));
        }
        
private   void  Application_BeginRequest(Object sender, EventArgs e)
        {
            HttpContext context 
=  ((HttpApplication)sender).Context;

            
string  redirectUrl  =   " http://www.kuchechina.com " ;
            
string  requestUrl  =  context.Request.Url.ToString();

            redirectUrl 
=  requestUrl.Replace( " http://kuchechina.com " , redirectUrl);

            context.Response.Clear();
            context.Response.StatusCode 
=   301 ;
            context.Response.Status 
=   " 301 Moved Permanently " ;
            context.Response.AddHeader(
" Location " , redirectUrl);
            context.Response.End();
        }

        
public   void  Dispose()
        {
        }

    }

}

 

代码全总在这里,想了解的朋友可以下载

/Files/zhuyue/301Redirect.rar

实现起来简单,可问题又出现了,要是域名路径中带目录,如:kuchechina.com/News/没有页面文件,就返回404错误了。怎么办呢?问题不好解决。再研究研究IIS重定向吧。问题还真的搞定了

IIS设置如下:

参数意义

$S 传送与所请求 URL 的相匹配的后缀。匹配后缀是用重定向的 URL 代替之后,初始 URL 中所保留的部分。 如果 /Scripts 重定向到 /Newscripts,而原来请求的是 /Scripts/Program.exe,那么 /Program.exe 便是后缀。服务器自动执行后缀替换,$S 变量只能与其他变量结合使用。
$Q 传递来自初始 URL 的问号 (?) 和参数。 例如,如果原来的 URL 是 /Scripts/Myscript.asp?number=1,那么字符串“?number=1”映射到目标 URL。

转载于:https://www.cnblogs.com/zhuyue/archive/2010/08/24/1807347.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值