Как изменить расширение, под которым будут запускаться .Net-страницы?
-
04-07-2019 - |
Вопрос
Мне нужно, чтобы мое .net - приложение использовало расширение .html вместо .aspx
Я конвертирую php-приложение, и есть внешние приложения, функционирование которых зависит от этого расширения.
Каков наилучший способ сделать это?
Спасибо
Решение
В 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>
Редактировать:Добавил раздел, согласно комментарию.Спасибо, Крис.
Другие советы
Вы хотите использовать httphandlers, так
Обратите внимание, что я не уверен на 100%, что это будет работать с расширением PHP, мы используем эту процедуру для пользовательского расширения здесь.
Вы можете изменить конфигурацию IIS:Откройте консоль IIS (щелкните правой кнопкой мыши "Мой компьютер" > "Управление"...> Сервисы и приложения)
- Если вы находитесь на веб-сайте, откройте свойства веб-сайтов и вкладку "Домашний каталог".
- Если вы находитесь в виртуальном каталоге, то в свойствах перейдите на вкладку "Виртуальный каталог".
Нажмите кнопку "Настройка", найдите расширение .aspx и используйте ту же конфигурацию для расширения ".php" (совет:вы можете скопировать и вставить имя исполняемой библиотеки dll между обоими диалоговыми окнами)
Некоторое время назад мы перенесли веб-приложение с coldfusion на PHP, и нам пришлось сохранить старые URL-адреса.Способ, которым мы это сделали, заключался в использовании mod_rewrite для перезаписи URL-адресов .cfm на URL-адреса .php.Возможно, вы можете сделать что-то подобное?