Como você muda a extensão em que as páginas .NET serão executadas?
-
04-07-2019 - |
Pergunta
Eu preciso do meu aplicativo .NET para usar a extensão .html em vez de .aspx
Estou convertendo um aplicativo PHP e existem aplicativos externos que dependem dessa extensão para a função.
Qual é a melhor maneira de fazer isso?
Obrigado
Solução
No IIS, quando você cria o aplicativo para o diretório virtual, clique em "Configuração" para o aplicativo e edita "mapeamentos de aplicativos", ou seja, adicione um novo mapeamento para HTML.
Ou, em seu web.config, adicione estas seções:
<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>
Editar: Adicionado a seção, de acordo com o comentário. Obrigado Chris.
Outras dicas
Você quer usar httphandlers
Observe que não tenho 100% de certeza de que isso funcione com a extensão PHP, estamos usando esse procedimento para uma extensão personalizada aqui.
Você pode alterar a configuração do IIS: abra o console do IIS (clique com o botão direito do mouse no meu computador> Gerenciar ...> Serviços e aplicativos)
- Se você estiver em um site, abra as propriedades dos sites e a guia "Diretório da casa".
- Se você estiver em um diretório virtual, as propriedades, a guia "Diretório virtual".
Clique no "Botão Configuração", procure a extensão .aspx e use a mesma configuração para a extensão ".php" (dica: você pode copiar colar o nome da DLL executável entre as duas caixas de diálogo)
Há algum tempo, migramos um aplicativo da Web da Coldfusion para o PHP e tivemos que preservar os URLs antigos. A maneira como fizemos foi usar mod_rewrite para reescrever URLs .cfm para .php. Talvez você possa fazer algo semelhante?