Los enlaces permanentes de wordpress apache no funcionan (error 404)

4 minutos de lectura

avatar de usuario
Serguéi Cherepanov

Lo instalé en mi sitio de wordpress del servidor apache2 pero todos los enlaces permanentes no funcionan (404 no encontrado) mi .htaccess fue generado por wp

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

Mi archivo conf para este sitio:

<Directory /home/sergey/siteName>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

nada de esas respuestas no me ayuda

Gracias.

UPD:

Gracias al comentario de Justin Iurman. Configurar AllowOverride All en mi conf resuelve el problema 🙂

  • En primer lugar, ¿tienes mod_rewrite activado ? Entonces, ha definido un RewriteBase por lo que no necesita una barra inclinada inicial en su segundo RewriteRule antes de index.php. Finalmente, cambia AllowOverride None por AllowOverride All en tu conferencia

    – Justin Iurman

    30 de abril de 2014 a las 12:34


  • En tal caso, también será útil la salida de los registros de errores de Apache para este dominio. Además, puede activar el registro para la reescritura. httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewritelog El resultado de los registros probablemente sea útil; si no puede resolverlo usted mismo, pegue el resultado de los registros en la pregunta.

    – meberhard

    30 de abril de 2014 a las 12:36

Cómo hacer que los enlaces permanentes/bonitos de WordPress funcionen en Ubuntu 10.10 con Apache2:

Por cierto, esto también debería ser lo mismo en Ubuntu 10.04, pero en realidad tampoco lo he probado allí.

  1. Cree manualmente un archivo “.htaccess” y guárdelo en su directorio principal de WordPress. (Este es el que tiene las carpetas wp-admin, wp-includes y wp-content).

  2. Vaya a la terminal de Ubuntu y escriba:

sudo chown -v :www-data “/enterYourFilePathHere/.htaccess”

Debería ver una línea impresa que dice que la propiedad del archivo (del grupo) se ha cambiado a www-data (Apache2).

  1. Otorgue a Apache2 acceso de escritura al archivo:

sudo chmod -v 664 “/ingrese la ruta de su archivo aquí/.htaccess”

Debería ver una línea impresa que indica que se ha retenido el modo del archivo.

  1. A continuación, debemos permitir que WordPress escriba en el archivo .htaccess habilitando mod_write en el servidor Apache2. Escriba lo siguiente en la terminal:

sudo a2enmod reescribir

Debería ver una línea impresa que dice que está habilitando la reescritura de mod y recordándole que reinicie el servidor web

  1. Así que hagamos eso. Reinicie el servidor web, Apache2, para que los cambios surtan efecto escribiendo:

sudo /etc/init.d/apache2 reiniciar

Ya hemos terminado con la línea de comandos; puede cerrar la ventana de la línea de comando ahora.

  1. Vaya a su panel de administración de WordPress (es decir, http://tuDominio/wp-admin). Vaya a Configuración –> Enlaces permanentes y seleccione el formato de enlace permanente de su elección. Presiona el botón “Guardar cambios”.

  2. ¡HECHO! Vaya a su sitio y verifique cualquier página (que no sea su página de inicio) para asegurarse de que todo funcione como se esperaba.

Espero que esto ayude a alguien.

  • ¡Funciona para mi! ¡Gracias! 🙂

    – Tarsis Azevedo

    21/10/2016 a las 23:38

  • Como ya voté, ya no puedo votar más. Pero tu respuesta me ha salvado varias veces. Gracias una tonelada 🙂

    – ashish.gd

    23 de octubre de 2019 a las 14:38

  • Gracias, @ashish.gd. Puede compartir esta respuesta con preguntas relacionadas. ayuda a más personas;

    – Nmk

    4 de noviembre de 2019 a las 9:23


  • no funciona para mi Hice todos los pasos (revisé dos veces los parámetros de chown y chmod), cuando cambio los enlaces permanentes a ?p=id, funciona (lo sé, estos no son enlaces permanentes, solo cadenas de consulta), después de cada vez que hago clic en guardar en la configuración de enlaces permanentes que emití cat .htaccess para observar el cambio y en realidad WordPress cambia el archivo…

    – Marecky

    1 de diciembre de 2020 a las 17:10


Después de seguir los pasos escritos por nmk,

sudo vim /etc/apache2/apache2.conf

Encuentra la entrada
<Directory /var/www/html>

y cambio
AllowOverride None

a
AllowOverride All

Luego guarde el archivo (:wq) y en el símbolo del sistema reinicie el servicio apache2

sudo /etc/init.d/apache2 reiniciar

  • ¡Esto resolvió el problema para mí!

    – konnovdev

    5 de noviembre de 2021 a las 6:44

  1. abra el archivo /etc/apache2/apache2.conf.
  2. Cambie AllowOverride del valor ‘ninguno’ a ‘Todos’ como se indica a continuación
<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
  </Directory>

3.Activar mod_rewrite

sudo a2enmod rewrite

4.Reinicie el servidor apache para aplicar estos cambios.

sudo apachectl restart

¿Ha sido útil esta solución?