2011-01-05 7 views
0

まだ古い.aspページを指し示す多くの受信URLがあります。新しい.aspxページは古い.aspページと同じと呼ばれ、ほとんど同じ値を受け入れます。したがって、ほとんどの場合互換性があります。残念ながら、私たちはまだ古い.aspページにPOSTとGETの両方のリクエストを受け取ります。 私たちは、web.configファイル(system.webserverセクション)でこれを追加することで、当社のAsp.Net 2.0アプリでこれらの.asp要求を取り扱う:IIS 7.5のAsp.Net 4.0で古い* .aspリンクを処理する最も良い方法は?

<handlers> 
     <add name="ASPClassicForRedirectToASPX" 
      path="*.asp" 
      verb="*" 
      modules="IsapiModule" 
       scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" 
      resourceType="Unspecified" 
      preCondition="classicMode,runtimeVersionv4.0,bitness32" /> 
    </handlers> 

をして、URLが.aspファイルで終わる場合BeginRequestイベントにチェックインし、そうであれば、RewritePathを.aspxにします

これで、asp.net 4.0に移行しました。これを処理し、古い.asp URLとの下位互換性を維持するより良い方法があるのだろうかと思い始めましたか?ケースを出回っていない場合、私はどうなるのか

答えて

0

がBeginRequestイベントでそのようなことはなく、URL書き換え(可能)である:

Response.Clear(); 
Response.Status = "301 Moved Permanently"; 
Response.AddHeader("Location","New-url"); 
Response.End(); 

301恒久的なリダイレクトを使用して、あなたは必ずすべてのクローラやものということになりますあなたの.aspページにたくさんの呼び出しを再利用すべき正しいものへのリンクを変更します。あなたがあなたのASPページへの古い直接のリンクに固執していることを除けば、あなたはそれらを行かせなければならないだろうと推測しています。カントは古いものを永遠にサポートしてくれるでしょう。それはすばらしいでしょう:)

関連する問題