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

Foi útil?

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?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top