4

私は現在Umbraco4.7で開発しています。

私のクライアントには、拡張子が.aspのクラシックASPページを新しいページにリダイレクトする必要があります。次のパッケージをインストールしました。

URLリダイレクトの管理 http://our.umbraco.org/projects/backoffice-extensions/manage-url-redirects

このパッケージは、.aspxページと拡張子のないページで必要なことを正確に実行します。

ただし、.aspに関しては、これは機能しません。私が最初に考えたのは、これは、IIS7内のハンドラーマッピング構成内で.aspが.aspxページにマップするように設定されていないためです。

これを解決するために、IISに新しいハンドラーマッピングを追加しました。

  1. スクリプトマネージャーを追加する
  2. リクエストパス-*.asp
  3. 実行可能ファイル-C:\ windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll
  4. 名前-ClassicAspToNet

このハンドラーマッピングを追加する前は、IIS404エラーページが表示されていました。今、私はサーバー例外を受け取ります:

URLの実行に失敗しました。

例:*ここでリンクを削除しました*

.asp拡張子が付いた.aspxページを提供できるかどうかを判断するのに、ご協力いただければ幸いです。その場合、どうすればよいですか。

前もって感謝します、

デビッド。

4

3 に答える 3

0

301 Moved Permanentlyそれが役立つ場合は、この機能を使用できます。

古典的なASPサイトには、On Application startのようなイベントを持つglobal.asaがあり、適切なaspxファイルにリダイレクトできます。

例えば

Sub Application_OnStart
    Declare a variable and Get page name from request and redirect accordingly

   Response.Status="301 Moved Permanently"
   Response.AddHeader "Location","http://www.example.com/" + VariableNameThatHoldsPageName
   Response.End

End Sub

それが役に立てば幸い.....

于 2014-07-29T07:06:21.753 に答える
0

PHP から Umbraco への移行でも同様の問題がありました。私の解決策は、拡張子のないハンドラー (ワイルドカード マッピング) を追加し、Umbraco で UrlRewriting を使用して .php を取り除き、.aspx に置き換えることでした。

私が使用した書き換えルールは次のとおりです。

<add name="phptoaspx"
     virtualUrl="^~/(.*).php"
     rewriteUrlParameter="ExcludeFromClientQueryString"
     destinationUrl="/$1.aspx"
     ignoreCase="true" />  

おそらくあなたの場合、書き直しが必要ですか?ただし、IIS ハンドラー マッピングから .asp を削除する必要がある場合があります。

于 2012-08-06T23:44:49.197 に答える
0

クラシック モードと統合モードの両方で他の拡張機能を IIS に再マップする方法について書いたブログ エントリを試すことができます

于 2012-08-07T00:11:55.563 に答える