Webサイトを.htm/.htmlページの使用からaspxページに移動しました。一部の既存のWebサイト/ブックマークなどは、aspxファイルではなく古いファイルを参照するため、aspxバージョンに送信する必要があります(同じ名前を付けています)。各ページにリダイレクトコードを追加したくありません。
どうすればこれを一度行うことができますか?
乾杯
Webサイトを.htm/.htmlページの使用からaspxページに移動しました。一部の既存のWebサイト/ブックマークなどは、aspxファイルではなく古いファイルを参照するため、aspxバージョンに送信する必要があります(同じ名前を付けています)。各ページにリダイレクトコードを追加したくありません。
どうすればこれを一度行うことができますか?
乾杯
IIS を使用している場合は、URL Rewriteを参照してください。これにより、.html のすべての要求を .aspx に簡単に変換できます。
OPからのコメント後の更新:
Global.asax.cs でエラーをキャッチしたい場合は、この方法で行ってください。
protected void Application_Error(Object sender, EventArgs e)
{
HttpContext context= HttpContext.Current;
Exception exception = context.Server.GetLastError();
int httpCode = ((HttpException)exception).GetHttpCode();
if (httpCode == 404)
{
ctx.Server.RedirectPermanent("~/yournewfilename.aspx", true);
//For more infor on RedirectPermanent got to http://msdn.microsoft.com/en-us/library/dd322042.aspx
}
}
============ その他 ==============
すぐに使えるものが必要な場合は、http://www.isapirewrite.com/または URL 書き換え
ただし、コードでこれを実現することもできます。着信要求に IHttpHanlder インターフェイスを実装することで独自の httphandler を記述します。この場合、.htm または .html の要求が .aspx にリダイレクトされる場合は非常に簡単です。
独自の HttpHandler を作成する場合に役立つリンク
http://msdn.microsoft.com/en-us/library/5c67a8bd(v=vs.85).aspx
http://codebetter.com/karlseguin/2006/05/25/httphandlers-%E2%80%93-learn-them-use-them/