ASP.NETがプログラムに301を設定する方法.
4346 ワード
IIS設定301はサーバでの構成が面倒であるため、MEはプログラムで実現することを選択する.
プログラムで実現する欠点は,実行効率がIISサーバで速くないことである.
もちろん、ここで言うのは動的サイトに適しているだけで、もしすべてなら.html静的ファイルは漂うでしょう!
では、直接コードをつけましょう.
ウェブページのトップページのファイルindex.aspxバックグラウンドコード
ここは私の独立サイトなので、直接www.と書きました.2級ドメイン名であれば、必要に応じて自分で修理する必要があります.
欄ページ/内容ページコード:
//urlの末尾が/記号で終わらない場合は、同じ301から末尾に/記号を追加します.
プログラムで実現する欠点は,実行効率が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();
}