0
私は自分のクライアントのために新しいサイトを作成しています。彼らの古いサイトは、ワードプレスを使用して開発され、したがって、それは以下のような壊れたURLの数百を持っていました:ホームURLにハイフンを含むURLをリダイレクトする方法asp.net mvc 5
http://www.example.com/best-gym-in-town/
http://www.example.com/video-gallery/
http://www.example.com/fun-stuff/
http://www.example.com/are-you-a-diabetes-patient/
http://www.example.com/john-in-media/
http://www.example.com/photo-gallery/
http://www.example.com/nutrition-program-that-suits-your-lifestyl/
http://www.example.com/our-range-of-fitness-tests/
http://www.example.com/corporate-group-workshops/some-article/another-article
私はasp.netのMVC 5の新しいサイトを開発しています私は、web.configファイルでhttpRedirectルールを書きたいです上記のURLのいずれかを自宅または特定のページにリダイレクトできます。
これまでのところ、これは私が解決策
<location path="about-me">
<system.webServer>
<httpRedirect enabled="true" destination="/home"
httpResponseStatus="Permanent" />
</system.webServer>
</location>
を考えています。しかし、私は、web.configファイルでこのようなエントリの100Sを書かなければならない方法です。私は、必要に応じて、あなたがGlobal.asaxの内のApplication_Errorメソッドにフックすることができ、
protected void Application_BeginRequest(object sender, EventArgs e)
{
try
{
if (HttpContext.Current.Request.Url.AbsolutePath.Contains("-")){
HttpContext.Current.Response.RedirectPermanent("/");
}
}
catch (ThreadAbortException){}
}
そこから
Application_BeginRequest
方法にGlobal.asaxの、フックでより良いと効率的な代替
私はbeginrequestイベントとテストをフックしようとします。提案ありがとう。私はまだ設定ベースの方法を探してみます。 –
さらに進化したい場合は、古いURLから新しいURLへのマッピングを持つDB/Configに対してルックアップを追加できます。 – timkly
それはまた良い考えです。 –