Habilitar SEF en Joomla! (Servidor ISS)

⚠️ Nota importante

Este artículo tiene más de un año. La tecnología evoluciona rápido, por lo que algunos contenidos o instrucciones pueden estar desactualizados. Recuerda buscar información reciente y actualizada.

Por defecto, Joomla! utiliza parámetros de cadenas de consulta para todas las URL que genera en un sitio web. Usted puede cambiar esto habilitando los URL amigables con motores de búsqueda, una característica que depende de la funcionalidad de reescritura de las URL. 

ISS 6.0 no incluye la capacidad de reescritura, es por eso que puede usar productos como ISAPI_Rewrite o Ionics ISAPI Rewrite Filter.

ISS 7.0 o más incluye este soporte que puede ser habilitado instalando Microsoft URL Rewrite Module for IIS 7.

  • Primero descargue en instale el módulo.
  • Si no existe, cree y abra un archivo Web.config localizado en el directorio raíz del sitio. 
  • Pegue el siguiente código: 

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

  • Guarde el archivo.
  • Vaya al panel de administración de Joomla! 
  • En la Configuración Global vaya a SEO Settings

1. Search Engine Friendly URLs - Activado

2. Add suffix to URLs - Desactivado

  • Guarde la configuración. 

 

Fundador
Seguidor de Jesús. Escribo artículos en mi tiempo libre sobre temas de tecnología que me interesan.