ASP.NETがプログラムに301を設定する方法.

4346 ワード

IIS設定301はサーバでの構成が面倒であるため、MEはプログラムで実現することを選択する.
プログラムで実現する欠点は,実行効率がIISサーバで速くないことである.
もちろん、ここで言うのは動的サイトに適しているだけで、もしすべてなら.html静的ファイルは漂うでしょう!
では、直接コードをつけましょう.
ウェブページのトップページのファイルindex.aspxバックグラウンドコード

  
    
// www. , 301 www.
if ( ! System.Web.HttpContext.Current.Request.Url.ToString().StartsWith( " http://www. " ))
{
// 301 /
HttpContext.Current.Response.StatusCode = 301 ;
HttpContext.Current.Response.Status
= " 301 Moved Permanently " ;
HttpContext.Current.Response.AddHeader(
" Location " , " http://www.qinquan.org/ " );
HttpContext.Current.Response.End();
}

ここは私の独立サイトなので、直接www.と書きました.2級ドメイン名であれば、必要に応じて自分で修理する必要があります.
欄ページ/内容ページコード:
//urlの末尾が/記号で終わらない場合は、同じ301から末尾に/記号を追加します.

  
    
if ( ! System.Web.HttpContext.Current.Request.RawUrl.EndsWith( " / " ))
{
// 301 /
HttpContext.Current.Response.StatusCode = 301 ;
HttpContext.Current.Response.Status
= " 301 Moved Permanently " ;
HttpContext.Current.Response.AddHeader(
" Location " , System.Web.HttpContext.Current.Request.RawUrl + " / " );
HttpContext.Current.Response.End();
}