Мне нужно, чтобы мое приложение .net использовало расширение .html вместо .aspx
Я конвертирую приложение php, и есть внешние приложения, которые зависят от этого расширения.
Как лучше всего это сделать?
Спасибо





Вы хотите использовать httpHandlers
Обратите внимание, что я не уверен на 100%, что это будет работать с расширением PHP, здесь мы используем эту процедуру для настраиваемого расширения.
Вы можете изменить конфигурацию IIS: Откройте консоль IIS (щелкните правой кнопкой мыши Мой компьютер> Управление ...> Службы и приложения)
Нажмите кнопку «Конфигурация», найдите расширение .aspx и используйте ту же конфигурацию для расширения «.php» (совет: вы можете скопировать и вставить имя исполняемой DLL между обоими диалоговыми окнами)
В IIS, когда вы создаете приложение для виртуального каталога, щелкните «Конфигурация» для приложения и отредактируйте «Сопоставления приложений», то есть добавьте новое сопоставление для html.
Или в своем web.config добавьте следующие разделы:
<httpHandlers>
<remove verb = "*" path = "*.html" />
<add verb = "*" path = "*.html" type = "System.Web.UI.PageHandlerFactory" />
</httpHandlers>
<compilation>
<buildProviders>
<buildProvider
extension = ".html"
type = "System.Web.Compilation.PageBuildProvider" />
</buildProviders>
</compilation>
Обновлено: добавлен раздел, согласно комментарию. Спасибо, Крис.
Ваше решение сработало, когда я добавил следующее: <buildProviders> <add extension = ". Html" type = "System.Web.Compilation.PageBuildProvider" /> </buildProviders>
Некоторое время назад мы перенесли веб-приложение с coldfusion на PHP и должны были сохранить старые URL-адреса. Мы сделали это с помощью mod_rewrite для перезаписи URL-адресов .cfm на .php. Возможно, вы сможете сделать что-то подобное?
Закрыть, но я получаю следующую ошибку: для расширения '.html' не зарегистрирован поставщик сборки.