WordPress: usar permalinks en un servidor local

27th Mar 2010Servidor, Web, Wordpress

Al momento de realizar algún desarrollo en WordPress, muchas veces las URL juegan un papel muy importante. Para estos efectos, es que se utilizan los “permalinks“, que además, aumentan las posibilidades del sitio de ser encontrados en los motores de búsqueda.

En este post, está explicado cómo configurar wordpress y como activarlos para su uso en servidores locales, como EasyPHP, XAMPP o AppServe.

Cómo se configuran los permalinks

En el panel de administración de WordPress, podremos configurar los “permalinks“, utilizando varias nomenclaturas diferentes para que las URL’s de nuestras páginas sean más fáciles de reconocer.

WordPress ofrece algunas posibilidades:

Predeterminado: http://www.sebastianbarria.com/?p=123

Basada en fecha y nombre: http://www.sebastianbarria.com/2008/05/24/sample-post/

Numérico: http://www.peivem.com/archives/123

Personalizada: En esta casilla es posible configurar los permalinks de la manera que se desee. Creo que una buena configuración podría ser “/%category%/%postname%/” (sin comillas), con lo que se obtendría como URL: http://www.sebastianbarria.com/categoria/nombre-post/

En resumidas cuentas, los permalinks permiten tener URL’s más amigables en nuestros sitios desarrollados con WordPress.

¿Cómo poder activar el uso de los permalinks?

Cuando WordPress es instalado en un servidor de Internet, o en algún sitio alojado en algún hosting popular, probablemente todo venga configurado para trabajar con los permalinks. Cuando esto no sucede, hay que realizar algunas modificaciones en la configuración de Apache.

Lo mismo sucede cuando uno instala un servidor local. Por defecto estos softwares, instalan Apache (que es el servidor web), y MySQL (que es el servidor de bases de datos), pero por un tema de uso común y seguridad, algunas cosas no vienen configuradas para su uso automático y hay que configurarlas manualmente.

El concepto de permalink, consiste en hacer redirecciones en las URL del sitio, donde los post son siempre redirigidos a URL’s estáticas definidas por una nomenclatura específica (/%category%/%postname%/). Para esto se debe utilizar dos cosas específicas:

  1. El módulo “rewrite” (mod_rewrite) de Apache, que es el que permite realizar las redirecciones de URL’s.
  2. Una configuración específica en el archivo .htaccess, ubicado en la raíz del sitio.

El mod_rewrite es un módulo de apache que debe ser activado manualmente en los servidores locales. El .htaccess es un archivo de texto que, en este caso, es configurado automáticamente por el mismo WordPress al momento de cambiar las preferencias de los permalinks.

Como activar el mod_rewrite

Al activar los permalinks en un WordPress que se encuentra instalado en un servidor local, probablemente las nuevas URL’s no sean reconocidas y en vez de la página que deberíamos ver, aparezca alguna página de error.

Para esto, independiente del servidor que estemos utilizando, debemos ir a las configuraciones de apache, abriendo el archivo httpd.conf con algún editor de texto simple (en EasyPHP, por ejemplo, la ruta donde se encuentra este archivo, generalmente, es C:\Archivos de programa\EasyPHP1-8\conf_files\).

Una vez abierto el archivo, se debe encontrar la siguiente línea y descomentarla (sacándole el signo #):

#LoadModule rewrite_module modules/mod_rewrite.so

Lo mismo se debe hacer con esta línea:

#AddModule mod_rewrite.c

Una vez hecho esto, se deberá reiniciar Apache. De esta manera, los permalinks comenzarán a funcionar perfectamente en un servidor local.

Hay que tener en cosnideración que en las nuevas versiones de apache, la manera de activarlo puede cambiar. Talvez alguna de estas líneas cambie o ya no exista, pero el concepto central es descomentar las líneas en las que se habla del mod_rewrite.

Últimas versiones

En las nuevas versiones la cosa cambia. Según la versión de apache que tengas, talvez tengas que descomentar solamente esta línea:

 # LoadModule rewrite_module modules/mod_rewrite.so

También, probablemente tengas que hacer un cambio en la seguridad, cambiando esto:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Satisfy all
</Directory>

por esto:

<Directory />
    Options FollowSymLinks
    AllowOverride all
    Order deny,allow
    Satisfy all
</Directory>

2 Comments Comments Feed

  1. Pedro (14/09/2010, 18:24). Reply

    Genial, funciona. Gracias.

  2. Dario (13/05/2011, 10:26). Reply

    Sebastian, muchas gracias por tu aporte. Me vino genial.

    Dario

Add a Comment

Suscribirme a los siguientes comentarios vía email (también puedes suscribirte sin comentar.

Switch to our mobile site