IIS: как обслуживать файл без расширения?
Я использую IIS 8
в Windows 8.1
. У меня есть файл XML
, который мне нужно получить через (имя_сервера)/(путь)
(путь) предопределен кем-то другим и не содержит расширения. Я попробовал простое решение удалить файл .xml с именем файла, но IIS returns HTTP Error 404.3 - Not Found
В "Physical Path", возвращаемом с ошибкой, является правильный путь к файлу, который, когда я копирую-вставлю в Run, открывает правильный файл.
Пожалуйста, дайте мне знать, если это возможно.
Ответы
Ответ 1
Предполагая (путь) физический каталог на вашем компьютере, создайте новый файл 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 файлом. Другие типы файлов в том же пути должны работать.
Ответ 2
Это можно сделать и в IIS 6, не используя web.config
, но вместо этого используя графический интерфейс управления, чтобы добавить MIME-тип для расширения .
здесь:
![введите описание изображения здесь]()
Например, чтобы обслуживать токен .well-known/acme-challenge
, создайте виртуальный каталог с именем .well-known
и возьмите его содержимое из физического каталога (который не может иметь имена с ведущими точками в окнах). Затем добавьте тип text/plain
MIME для расширения .
в этом каталоге, и вы можете вручную получить новые сертификаты letsencrypt
для домена, который в настоящее время обслуживается старым IIS.
Ответ 3
Изменение настроек вручную может быть рискованным время от времени. IIS предоставляет методологию для обновления MIME-типов через диспетчер IIS также, как показано ниже. Снимки для IIS v10 установлены в окне Windows 10:
- Перейти к функции MIME-типов виртуального каталога вашего веб-сайта:
![введите описание изображения здесь]()
- Настройте тип mime для поддержки всех файлов без расширения:
![введите описание изображения здесь]()
Эти шаги эффективно сохраняют изменения на web.config
вашего веб-сайта или виртуального каталога (под вашим сайтом), как это было предложено @PeterHahndorf в его сообщении .