IIS: 拡張子のないファイルを提供するにはどうすればいいですか? 質問する

IIS: 拡張子のないファイルを提供するにはどうすればいいですか? 質問する

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そのサイトの下のディレクトリです。

おすすめ記事