Cada vez es más importante disponer de una buena arquitectura de URLs en nuestras aplicaciones y sitios web. Arquitecturas de servicios como REST y la importancia de optimizar el SEO de cara a resultados de búsquedas; suelen ser los dos motivos más importantes para que nuestra aplicación necesite disponer de su propia estrategia de URLs coherente al contenido que se ofrece. Para realizar esta tarea, puedes recurrir a IIS7.
IIS7 (Internet Information Server) es un conjunto de servicios para servidores que utilicen Windows como sistema operativo. Una aplicación integrada en el sistema operativo que resulta muy fácil de administrar. Desde hace ya dos años, IIS goza de su propio sistema de URL rewrite nativo, lo que nos permite de una forma muy sencilla aplicar las reglas necesarias para implementar nuestra estrategia de URLs. IIS7 incluso permite crear certificados de seguridad SSL autofirmados, pero este tema lo trataremos en otro artículo.
A lo largo de los últimos años, hemos ido recopilando algunas de estas reglas. A continuación mostramos aquellas más necesarias para que tu estrategia de URLs obtenga los mejores resultados.
Por ejemplo, si quieres eliminar la barra final de tu URL, deberías añadir unas líneas de código como las siguientes. De esta forma, aunque tu URL haya cambiado, el tráfico se redirigirá a la nueva dirección.
<rule name="Eliminar la ultima barra en la url" stopProcessing="true"> <match url="(.*)/$" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Redirect" redirectType="Permanent" url="{R:1}" /> </rule>
<rule name="Agregar la ultima barra a la url" stopProcessing="true"> <match url="<span><span>(.*[^/])</span></>$" /> <conditions> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Redirect" redirectType="Permanent" url="{R:1}/" /> </rule>
<rule name="Forzar toda la url a minusculas" stopProcessing="true"> <match url=".*[A-Z].*" ignoreCase="false" /> <action type="Redirect" url="{ToLower:{R:0}}" redirectType="Permanent" /> </rule>
<rule name="Quitar las www" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" negate="true" pattern="^linube.com$" /> </conditions> <action type="Redirect" url="https://linube.com/{R:1}" redirectType="Permanent" /> </rule>
<rule name="Añadir las www" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTP_HOST}" negate="true" pattern="^www.linube.com$" /> </conditions> <action type="Redirect" url="https://www.linube.com/{R:1}" redirectType="Permanent" /> </rule>
<rule name="Forzar https" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" /> </rule>
<rule name="Rechazar hotlinking" stopProcessing="true"> <match url=".*.(gif|jpg|png)$"/> <conditions> <add input="{HTTP_REFERER}" pattern="^$" negate="true" /> <add input="{HTTP_REFERER}" pattern="^https://linube.com/.*$" negate="true" /> </conditions> <action type="Rewrite" url="/images/gandalf_nopuedespasar.jpg" /> </rule>
<rule name="Wordpress" 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="index.php" /> </rule>
<rule name="Symfony" stopProcessing="true"> <match url="^(.*)$" ignoreCase="false" /> <conditions logicalGrouping="MatchAll"> <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> </conditions> <action type="Rewrite" url="index.php" appendQueryString="true" /> </rule>
Nuestro sitio web utiliza cookies para mejorar la navegación y obtener datos estadísticos sobre las visitas obtenidas.
Leer más