IIS 7.5 WebサイトのデフォルトWebページを構成しようとしています。
要求フィルタリングがオンになっています。ただし、.aspxページは許可されていますが、default.aspxをWebサイトのデフォルトページに設定しました。
Localhost/default.aspxを参照すると、期待どおりにWebページが表示されます。
ローカルホストにアクセスした場合/
HTTPエラー404.7-見つかりません要求フィルタリングモジュールは、ファイル拡張子を拒否するように構成されています。
何か案は?
要求フィルタリングは、実際には空のファイル名をフィルタリングしているようです。そのため、これをweb.configのリクエストフィルタリングブロックに追加する必要があります。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<fileExtensions allowUnlisted="true">
<remove fileExtension="." />
<add fileExtension="." allowed="true" />
</fileExtensions>
</requestFiltering>
</security>
</system.webServer>
</configuration>
今では明らかですが、本当に大げさなことだと思います。
以下を追加することで解決できます:
<requestFiltering>
<fileExtensions allowUnlisted="true">
<remove fileExtension="." />
<add fileExtension="." allowed="true" />
</fileExtensions>
</requestFiltering>
web.Configファイルに
ページのボタンからPostBackURL = "MyPage.aspx"を必ず削除してください。私の推測では、ポストバックURLが含まれていると、IISはページをファイルとして取得すると考えます。デフォルトでは.aspxファイルタイプを拒否します。これはページエラーで確認できます。
悪い:404.7を作成します(PostBackURLに注意してください)
<asp:FileUpload runat="server" ID="uplReplaceFile" ToolTip="Update this file" />
<asp:Button runat="server" PostBackUrl="MyPage.ascx" ID="bnHiddenFileUploadListener" OnClick="bnHiddenFileUploadListener_OnClick" />
良い:エラーなし
<asp:FileUpload runat="server" ID="uplReplaceFile" ToolTip="Update this file" />
<asp:Button runat="server" ID="bnHiddenFileUploadListener" OnClick="bnHiddenFileUploadListener_OnClick" />
これを解決するには、ファイル拡張子をIISの要求フィルターモジュールに追加します。