2012-04-18 16 views
6

Así que la idea es eliminar la extensión .html de cada página así ...de reescritura de URL - Retirar extensión .html

www.website.com/File.html > www.website.com/File 
www.website.com/Folder/File.html > www.website.com/Folder/File 

Ahora me las he arreglado para hacer esto utilizando una reescritura de URL, pero significa tener que escribir una reescritura para cada página, lo que consume mucho tiempo, no es eficiente y poco práctico, por ejemplo, si el sitio web tiene más de 20 páginas.

¿Hay alguna manera de hacerlo escribiendo solo una o dos reescrituras en el archivo web.config?

+0

También me gustaría saber !!! Ayuda a los usuarios de SO UNITE! –

Respuesta

9

Esta solución funcionó para mí en el final:

<rule name="RedirectUserFriendlyURL1" stopProcessing="true"> 
    <match url="^(.*)\.(.*)$" /> 
    <conditions> 
     <add input="{REQUEST_METHOD}" pattern="^POST$" negate="true" /> 
    </conditions> 
    <action type="Redirect" url="{R:1}" appendQueryString="false" /> 
</rule> 
<rule name="RewriteUserFriendlyURL1" stopProcessing="true"> 
    <match url="^(.*)$" /> 
    <conditions> 
     <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
    </conditions> 
    <action type="Rewrite" url="{R:1}.(.*)" /> 
</rule> 
+0

¡Un buen Ryano! Yo te votaría, pero nos han negado que votáramos en el pasado ... –

+3

Desafortunadamente, esto también elimina .css, .js y otras extensiones – CarneyCode

Cuestiones relacionadas