IIS со специальными именами файлов?

#html #iis #handler

#HTML #iis #обработчик

Вопрос:

Я загрузил некоторые веб-сайты с помощью «wayback_machine_downloader». У некоторых файлов были такие имена, как super.html!q=4343 . Но IIS не обнаруживает его как HTML-файл, а Windows обнаруживает расширение файла is .html!q=4343 .

Я хочу вот что: когда люди переходят на http://www.example.com/super.html!q=4343 , я хочу показать этот файл как обычный HTML. Это в коде просто чистый HTML.

Я знаю, что нужно менять расширения, но другие HTML-файлы ссылаются на это /super.html!q=4343 .

Есть также файлы с разными номерами и тому подобное. (например /super.html!q=6556 , или /super.html!d=5545 )

Я не умею писать английский вопрос, но это мой лучший. Извините за это.

Есть ли способ исправить? Спасибо!

Комментарии:

1. Для этого вам нужно реализовать собственное расширение IIS.

Ответ №1:

В общем случае вам нужно будет добавить mime-карту в web.config вашего сайта. Например, чтобы заставить URL http://www.example.com/super.html!q=4343 работать, вы можете сделать следующее:

 <configuration>
  <system.webServer>
      <staticContent>
         <mimeMap fileExtension=".html!q=4343" mimeType="text/html" />
      </staticContent>  
  </system.webServer>
</configuration>
  

Вышеуказанное будет работать только для определенного расширения. Для работы со всеми расширениями используйте фрагмент ниже. Это будет работать со всеми расширениями.

 <configuration>
  <system.webServer>
      <staticContent>
         <mimeMap fileExtension="*" mimeType="text/html" />
      </staticContent>  
  </system.webServer>
</configuration>
  

Комментарии:

1. Я попытался поместить mime-карту с расширением файла .html!q = * как текст / html, но это дало мне некоторую ошибку.

2. @ArchiveVEGA да, это не сработает. Вам придется использовать fileExtension="*" . Это не влияет на известные типы mime, поэтому файлы css / js не будут нарушаться при этом

3. Метод Tasos K самый лучший и простой. Это полезно в моем тесте. Я рекомендую вам использовать его