0

CMS(sitefinity4.0)を使用してドットネット4.0で構築されたWebサイトがあります。このサイトはIIS6.0でホストされています。URLの正規化を試みていました。www.mysite.com/innerpages.aspxをリダイレクトするためにmysite.com/innerpages.aspxが必要です。mysite.comに対して302リダイレクトを実行すると、正常に機能し、ページが表示されます。 www.mysite.com/innerpage.aspxにリダイレクトされますが、301リダイレクトを実行しようとすると、eurl.axd/の404エラーが表示されます。

ステージングでの同じセットアップ(同じアプリとIIS設定)は、301および302リダイレクトで正常に機能します。

解決策を探しているときに、IIS6.0でASP.NETv4.0拡張機能のないURL機能を無効にすることを提案する記事に出くわしました -Default.aspxページがIIS6に読み込まれません

しかし、ステージングの設定を確認したところ、ステージングで無効になっていないことがわかりました。したがって、これが機能するかどうかはわかりません。

助けてください。

4

1 に答える 1

0

「しかし、ステージングの設定を確認したところ、ステージングで無効になっていないことがわかりました」とはどういう意味かわかりません。無効になっていない場合は、拡張子のない URL が追加されます。基本的に何が起こっているかというと、リダイレクトでは、「eurl.axd/GUID」に内部的に追加されたものが実際の URL の一部ではないことをプロセスが認識しないため、(削除されるのではなく) そのまま残されます。サイトで意図的に拡張子のない URL とリダイレクトを使用しようとしている場合は、他の誰かが助けに来てくれることを願っています。

ただし、拡張子のない URL を使用していない場合は、無効にする必要があります。これを行うには、レジストリ キーを変更します。

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ASP.NET\4.0.30319.0\EnableExtensionlessUrls = 0

また、そのレジストリ エントリを変更した後、IIS を再起動する必要があります。そのレジストリ エントリがない場合、IIS は "オン" (EnableExtensionlessUrls = 1) であるかのように扱います。したがって、それを取り除くには、明示的に追加する必要があります。

注: 64 ビットを実行している場合、探しているレジストリ キーは別の場所にあります。

HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\ASP.NET\v4.0.30319.0\EnableExtensionlessUrls = 0

于 2012-07-07T01:32:54.493 に答える