URLs amigables en IIS
Последнее обновление Aug 17th, 2026 | Historial de la página | Mejorar esta página | Reportar un problema
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$204 per month—let's make that $500!
Learn moreUsa esta guía cuando MODX corre en Microsoft IIS y necesitas URLs amigables (FURL). En Apache usas ht.access / .htaccess. En IIS usas un archivo web.config con el módulo URL Rewrite.
El hilo de la comunidad que motivó esta página cubre IIS 8 en Windows Server 2012 R2 y el enrutamiento multiidioma. Las mismas reglas base valen en versiones posteriores de IIS.
Requisitos¶
- Instala el módulo IIS URL Rewrite en el servidor si falta. Sin él, IIS ignora las reglas de reescritura en
web.config. - Coloca
web.configen la raíz web junto aindex.php(al mismo nivel queassets/,manager/yconnectors/). No lo pongas bajocore/. Desde ahí las reglas no reescriben las peticiones públicas a páginas. - Confirma que el sitio o la aplicación IIS apunta a esa raíz web.
Ejemplo de web.config¶
Crea web.config en la raíz web (o fusiona estas reglas en un archivo existente). La regla de Friendly URLs refleja el núcleo del ht.access de Revolution en la raíz: envía las rutas desconocidas a index.php?q=….
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<!-- Opcional: bloquear internal dummy connection si aparecen en los logs -->
<rule name="Block internal dummy connection" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_USER_AGENT}" pattern="internal dummy connection" />
</conditions>
<action type="CustomResponse" statusCode="403"
statusReason="Forbidden" statusDescription="Forbidden" />
</rule>
<rule name="MODX Friendly URLs" stopProcessing="true">
<match url="^(.*)$" />
<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?q={R:1}" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Si MODX vive en un subdirectorio (por ejemplo /modx), ajusta el url del rewrite para que apunte al index.php de esa carpeta, o define la raíz de la aplicación IIS como la raíz web de MODX para poder usar el ejemplo sin cambios.
Activar Friendly URLs en MODX¶
Activa las FURL en el Manager después de que la regla de rewrite funcione.
- Abre en el navegador una URL que no sea un archivo real (por ejemplo
/about) y confirma que IIS la reescribe hacia MODX en lugar de devolver un 404 estático. - En Configuración del sistema, pon
friendly_urlsen Yes. - Vacía la caché del sitio.
- En tu(s) plantilla(s), define la URL base para que CSS y JS sigan cargando, por ejemplo:
<base href="[[!++site_url]]" />
Si activas friendly_urls antes de que el rewrite funcione, los enlaces a recursos se ven “bonitos” y los assets se rompen. Arregla el rewrite primero y luego cambia el ajuste.
Sitios multiidioma¶
Extras como Babel o XRouting necesitan FURL que ya funcionen. Cuando la regla base de arriba esté operativa, añade las reglas IIS extra que documenten esos extras para prefijos de idioma o dominios. En el caso de la comunidad, el multiidioma en IIS falló hasta tener URL Rewrite y un web.config en la raíz.
Páginas relacionadas¶
Support the team building MODX with a monthly donation.
The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.
Backers
Budget
$204 per month—let's make that $500!
Learn more










