IIS 8
を使用していますWindows 8.1
。ファイルがありXML
、それにアクセスする必要があります(サーバー名)/(パス)
(パス)他の人によって定義されており、拡張子が含まれていません。ファイル名から.xmlファイルを削除するという単純な解決策を試しましたが、IIS returns HTTP Error 404.3 - Not Found
の中に「物理的なパス」エラーとともに返されるのは正しいファイル パスであり、これをコピーして実行に貼り付けると正しいファイルが開きます。
これが可能かどうか教えてください。
ベストアンサー1
(パス) がマシン上の物理ディレクトリであると仮定して、そのディレクトリに次の内容の新しい web.config ファイルを作成します。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension="." mimeType="text/xml" />
</staticContent>
</system.webServer>
</configuration>
このディレクトリのみで、(MIME タイプで) 別途定義された拡張子を持たないファイルは xml ファイルとして扱われるべきであると IIS に指示しています。同じパスにある他のファイル タイプは、引き続き機能します。
Windows 機能がIIS Management Scripts and Tools
インストールされている場合は、PowerShell を使用して次のような web.config ファイルを作成できます。
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site/.well-known' -filter "system.webServer/staticContent" -name "." -value @{fileExtension='.';mimeType='text/xml'}
この例では、Default Web Site
は Web サイトの名前であり、.well-known
そのサイトの下のディレクトリです。