Cómo reescribir el URL (URL rewriting) para usar Permalinks con WordPress y Windows 2003 (IIS)

Breve introducción

WordPress viene con un mecanismo llamado Permalinks, mediante el cual se reescribe el URL.

Sin Permalinks, tus posts se verán así:
https://www.viale.mx/?p=4432

Con Permalinks, se verán así:
https://www.viale.mx/como-hacer-un-sitio-web

Como podrás ver, la ventaja es que el URL se vuelve mas legible, y más significativo para las máquinas de búsqueda como Google.

Ahora bien, para lograr esta reescritura del URL necesitas tener acceso al servidor mediante remote desktop. No te bastará con una cuenta de FTP. También puedes pedirle al administrador que lo haga por ti.

Cómo hacerlo

Probado con: WordPress 2.1 y Windows Server 2003

La herramienta para reescritura de URLs que yo utilizo la hizo Dean Lee.

1. Descarga los archivos

Descarga los archivos de Dean Lee de su sitio web y extráelos. Debes tener los siguientes archivos:

config.ini
msvcr80.dll
WordPressPlugin.dll

Cópialos y pégalos en la carpeta raíz de tu blog.

Con un bloc de notas abre el archivo config.ini. Encontrarás que solamente tiene una diagonal. Esta configuración se utiliza si tu blog estará en la carpeta raíz de tu sitio web. Es decir, si tu blog será accesible mediante una dirección como esta:

https://www.viale.mx

Por otro lado, si tu blog está en una carpeta, por ejemplo https://www.viale.mx/blog entonces tienes que modificar el archivo config.ini para que diga: /blog/

Nota: Si piensas poner tu blog en una carpeta del dominio, te recomiendo que no lo hagas. Mejor crea una entrada en tu dns para lograr una dirección como: http://blog.misitioweb.com/. ¿Por qué? Porque vamos a activar un filtro ISAPI en el sitio web. Si el resto de tu sitio web no lo va a usar, entonces más vale separarlo en dos sitios web, por si las dudas.

2. Configura IIS

En Windows Server, en la consola de Administración de la PC, abre las propiedades de tu sitio y escoge la pestaña ISAPI Filters:

Propiedades del Sitio Web

En esa ventana haz clic en el botón Add. En la nueva ventana escoge el archivo WordPressPlugin.dll que copiaste a tu sitio web y ponle como nombre WordPressPlugin.

ISAPI

Acepta todo hasta que se cierre la ventana de propiedades del Sitio Web.

3. Configura php.ini

Con un bloc de notas abre tu archivo php.ini. De acuerdo a tu instalación este archivo puede estar ubicado en diferentes carpetas, normalmente está en c:windowsphp.ini

Haz una búsqueda en el archivo por la palabra cgi.force_redirect y asegúrate de que esa línea diga:

cgi.force_redirect = 0

OJO: Si tiene un punto y coma antes, quítaselo.

Ahora agrega la siguiente línea:

cgi.fix_pathinfo = 1

Debe quedar así:

php.ini

Ahora reinicia el IIS.

4. Configura WordPress

Abre tu consola de WordPress y ve a Opciones->Permalinks.

Dale clic a la opción Personalizada, especificar aquí y teclea

/%year%/%monthnum%/%day%/%postname%/

Permalink

Oprime el botón Actualizar estructura de permalink para guardar los cambios.

Ya debe de funcionar. Si no lo hace, asegúrate de que hayas reiniciado IIS.

Ahora navega por tu blog y revisa cómo las direcciones de tus posts han cambiado. 🙂

Nota importante. Un punto negativo de esta herramienta es que si utilizas algún caracter no común en inglés. Por ejemplo un signo de interrogación que abre: ¿, entonces cuando intentes hacer clic a la liga de tu post, no abrirá porque pone un símbolo extraño como %c2%bf.