asp.net Webアプリケーションを実行していますが、検索エンジン最適化のために、購入したドメイン名を301にリダイレクトして希望のドメイン名にリダイレクトしたいと考えています。
テストの目的で、ローカルホストプロジェクトにGlobal.asaxページを追加し、次のコードを追加しました。
protected void Application_PreRequestHandlerExecute(Object sender, EventArgs e)
{
string currentUrl = HttpContext.Current.Request.Url.ToString();
if(!currentUrl.StartsWith("http://www.mydomain.org"))
{
string strStart = currentUrl.Substring(0, currentUrl.indexOf(@"/Pages"));
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", currentUrl.Replace(strStart, "http://www.mydomain.org"));
Response.End();
}
}
「http://www.mydomain.org」を現在のドメイン名の1つに置き換えました。それはすべて私が望むように実行されました。ただし、そのコードを.asaxファイルから削除した場合、またはasaxファイルを完全に削除した場合でも、そのコードスニペットは引き続き実行されます。したがって、ローカルホストプロジェクトを効果的に実行すると、オンラインWebサイトが開き、この動作を停止できません。
私は次のことをしました:
- 「TemporaryASP.NETFiles」フォルダ内のすべてを削除しました
- /binフォルダーと/objフォルダー全体の.dllを削除しました
- ソリューションをクリーンアップして再構築しました。
- まったく新しいソリューションを作成し、それにファイルを追加しました。これは最初は機能しますが、Global.asaxファイルを追加すると同じ動作が発生します。
これは私が最終的に望んでいる動作ですが、最初の実装後に実行、デバッグ、および編集したいと思います。以前にも同じ問題が発生しましたが、上記のいずれかの方法で修正されたようです。助けてください!