¿Cómo cambias la extensión a la que se ejecutarán las páginas .Net?
-
04-07-2019 - |
Pregunta
Necesito que mi aplicación .net use la extensión .html en lugar de .aspx
Estoy convirtiendo una aplicación php y hay aplicaciones externas que dependen de la extensión para funcionar.
¿Cuál es la mejor manera de hacer esto?
Gracias
Solución
En IIS, cuando cree la aplicación para el directorio virtual, haga clic en " Configuración " para la aplicación, y edite " Asignaciones de aplicaciones " ;, es decir, agregue una nueva asignación para html.
O, en su web.config, en agregar estas secciones:
<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: Se agregó la sección, de acuerdo con el comentario. Gracias Chris.
Otros consejos
Desea utilizar httpHandlers
Tenga en cuenta que no estoy 100% seguro de que esto funcione con la extensión de PHP, estamos usando este procedimiento para una extensión personalizada aquí.
Puedes cambiar la configuración de IIS: Abra la Consola IIS (haga clic con el botón derecho en Mi PC > Administrar ... > Servicios y aplicaciones)
- Si está en un sitio web, abra las propiedades de los sitios web y el " Directorio de inicio " pestaña.
- Si está en un directorio virtual, las propiedades y luego el " Directorio virtual " pestaña.
Haga clic en el " Botón de configuración " ;, busque la extensión .aspx y use la misma configuración para " .php " extensión (sugerencia: puede copiar y pegar el nombre de dll ejecutable entre ambos cuadros de diálogo)
Hace algún tiempo, hemos migrado una aplicación web de coldfusion a PHP, y tuvimos que conservar las URL antiguas. La forma en que lo hicimos fue usar mod_rewrite para volver a escribir las URL .cfm a las .php. Quizás puedas hacer algo similar?