Arreglar los permalinks en Wordpress y Ubuntu Server 14.04
Por más que digan que es sencillo, migrar una página en wordpress siempre trae uno que otro problema, y para mí, el más frecuente es: Error cambiando los Permalinks.
El síntoma:
Luego de hacer la migración, y que la home page funcione, al tratar de ir a una página aparece un error 404 not page found. Al revisar todas las páginas, la dirección URL está perfecta pero ¿Por qué no sirve?.
Además, al intentar cambiar los permalinks, todo parece funcionar, pero la única forma en la que funciona es cuando se usa el id de la página o cuando se pone /index.php/%postname%/ en el "custom structure". La idea es intentar estas soluciones una a una, es decir, intentar la primera y probar, si no, intentar la segunda, y si no, la tercera (no sé si esto es lo más correcto, pero fué lo que me funcionó)
La solución
- Archivo .htaccess: Este archivo es el primer paso. El .htaccess se encuentra en la misma carpeta en la que está instalado wordpress. Al cambiar seleccionar el tipo de Permalinks este archivo se va a actualizar. En algunos casos wordpress indica que este archivo no se puede escribir y en ese momento aparecen varias líneas de código que puedes copiar y pegar en ese archivo. Opcionalmente puedes modificar los permisos del archivo y hacer que wordpress lo actualice por si mismo. Éste es el código que generalmente agrega en el archivo .htaccess.
# BEGIN WordPress
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress - Habilitar mod_rewrite en Apache server: Esto es un poco más serio ya que . Tienes que entrar por terminal (consola, ssh) al servidor. Luego ejecuta estos comandosInstala el módulo
sudo a2enmod rewrite
Reinicia apache
sudo service apache2 restart
Habilita el uso del módulo por los archivos .httaccess. Esto se logra editando el archivo 000-default.conf de apache. (Atención, porque la dirección del archivo ha cambiado en apache 2.4 y en ubuntu 14.04)
sudo nano /etc/apache2/sites-available/000-default.conf
Busca la línea: "DocumentRoot /var/www/html" y agrega estas líneas de código:
AllowOverride All
Guarda y cierra el archivo, (en nano Ctrl+X) .
Reinicia apache
sudo service apache2 restart - Modificar la configuración de apache: En muchas páginas que visité hablaban del archivo httpd.conf. Sin embargo, parece que en la versión 2.4 de apache ya no existe y fue convertido en el archivo apache2.conf ubicado en /etc/apache2/. Este cambio fue lo que me motivó a escribir este post. Los cambios que deben hacerse en este archivo son:
Abre el archivo apache2.conf
sudo nano /etc/apache2/apache2.conf
Busca las lineas OptionsFollowSymLinks and change the AllowOverride None por AllowOverride All
Restart the apache server
sudo service apache2 restart
Comentarios
Publicar un comentario