Blog de diseño web

Blog de Diseño web

Blog dedicado a la divulgación de noticias, novedades, consejos, trucos relacionados con el diseño y posicionamiento web.
También hablaremos de tendencias, noticias y curiosidades relacionadas con este sector sin olvidar aquellas noticias relevantes para la sociedad.

Url amigables en servidor Windows con IIS

Si digo que las Url amigables son fundamentales en el SEO y en el Diseño web, no descubro nada nuevo.
Si digo que son fácilmente configurables en servidores Linux a través del archivo .htaccess, tampoco. Sobre eso hay mucha información en Internet.
iisPero si nuestra web está alojada en un servidor Windows, la cosa cambia. Resulta increíble la cantidad de consultas que recibo sobre este tema dado que en internet hay muy poca información que lo explique.


Microsoft usa IIS como servidor web para el sistema operativo Windows. Decir que la última versión estable a día de hoy es la 8.
Para configurar las Url amigables con el código que facilitaré a continuación, es necesaria al menos la versión 7.5.
Antes de insertar el código debemos asegurarnos de tener el módulo Rewrite activado. Si nuestro hosting es compartido, deberemos preguntar a nuestro proveedor.
Se trata de editar (o crear si no se tiene) el archivo web.config e insertar el siguiente código


<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Security Rule" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAny">
<add input="{QUERY_STRING}" pattern="mosConfig_[a-zA-Z_]{1,21}(=|\%3D)" ignoreCase="false" />
<add input="{QUERY_STRING}" pattern="base64_encode.*\(.*\)" ignoreCase="false" />
<add input="{QUERY_STRING}" pattern="(\&lt;|%3C).*script.*(\>|%3E)" />
<add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
<add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
</conditions>
<action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="SEO Rule">
<match url="(.*)" ignoreCase="true" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" pattern="" ignoreCase="false" />
<add input="{URL}" negate="true" pattern="^/index.php" ignoreCase="false" />
<add input="{URL}" pattern="(/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>

Con este código se generan las Url amigables sin mayor problema.
En el caso que al navegar por la web diéramos siempre con la página principal debemos cambiar la activación del PHP de CGI a FastCGI.
Algunos proveedores de hosting no permiten ese cambio por lo que sería un problema. Habría que pasar entonces a un VPS o a un servidor dedicado… O bien pasarse a un servidor Linux.

Puedes descargarte el archivo en formato zip pinchando sobre ESTE ENLACE
Espero haberos sido de ayuda.

en SEO y Marketing Online Visitas: 5119
URL de las referencias para esta entrada
  • No hay comentarios por el momento. Se el primero en enviar un comentario.

Deja tu comentario

Invitado Sábado, 22 Julio 2017

José María Somoza es profesional del diseño web y posicionamiento en buscadores.
Desde 1.998 ha trabajado como desarrollador en múltiples proyectos web afianzando cada uno de ellos con una estrategia de posicionamiento web adaptada a las novedades que periodicamente traen los cada vez más modernos de búsqueda.