web-dev-qa-db-ja.com

IIS:拡張子なしでファイルを提供する方法は?

私は使っている IIS 8 オン Windows 8.1XMLファイルがあり、(servername)/(path)からアクセスする必要があります

(path)は他の人によって事前定義されており、拡張子は含まれていません。 .xmlファイルのファイル名を削除する簡単な解決策を試しましたが、IIS returns HTTP Error 404.3 - Not Found

エラーで返される"Physical Path"には、正しいファイルパスがあります。コピーして貼り付けて実行すると、正しいファイルが開きます。

これが可能かどうか教えてください。

53
xander

(パス)がマシン上の物理ディレクトリであると仮定して、そのディレクトリに次のコンテンツを含む新しいweb.configファイルを作成します。

 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
     <system.webServer>
         <staticContent>
             <mimeMap fileExtension="." mimeType="text/xml" />
         </staticContent>
     </system.webServer>
 </configuration>

IISこのディレクトリについてのみ、MIMEタイプの拡張子が定義されていないファイルはすべてxmlファイルと見なされるべきです。同じパスの他のファイルタイプは引き続き機能するはずです。

92
Peter Hahndorf

IIS 6でも同様に/ web.configを使用せずに、代わりに管理GUIを使用して拡張子.のMIMEタイプを追加できます。

enter image description here

たとえば、.well-known/acme-challengeトークンを提供するには、.well-knownという仮想ディレクトリを作成し、そのコンテンツを物理ディレクトリ(ウィンドウの先頭にドットを含む名前を付けることはできません)から取得します。次に、このディレクトリにtext/plain拡張子の. MIMEタイプを追加すると、古いIISが現在サービスを提供しているドメインの新しいletsencrypt証明書を手動で取得できます。

16
MattBianco

手動で構成を変更すると、危険を伴う場合があります。 IISは、IISマネージャも以下のようにMIMEタイプを更新する方法を提供します。スナップショットはIIS v10 Windows 10ボックスにインストール:

  1. Webサイトの仮想ディレクトリのMIMEタイプ機能に移動します。

enter image description here

  1. MIMEタイプを設定して、拡張子のないすべてのファイルをサポートします。

enter image description here

これらの手順により、web.configあなたのウェブサイトまたは仮想ディレクトリ(あなたのウェブサイトの下)の@PeterHahndorfが post で提案したとおり。

8
RBT