permalinks de wordpress no funciona – htaccess parece bien, pero llegar en las páginas de error 404

He actualizado el enlace permanente de la estructura de a /%postname%/y esta actualizado mi .htaccess con:

# 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

Pero sigo teniendo errores 404 en las páginas. Hay alguna otra configuración que necesito cambiar?

Edit: si ayuda a la apache registro parece estar mirando directamente en la permalinked carpeta. I. e.:

[Wed Oct 16 11:12:32 2013] [error] [client xx.xx.xx.xxx] File does not exist: /var/www/exampledomain/news, referer: http://exampledomain.com/
  • Tal vez debería aceptar una respuesta.
InformationsquelleAutor babbaggeii | 2013-10-16

10 Kommentare

  1. 73

    Para otras personas de aterrizar en esta página –
    Otro problema podría ser (Si usted está usando Apache como servidor web) es su httpd.conf o de los sitios-disponible/sitename.conf archivo de necesidades de edición.

    Su directorio web se necesita para permitir que el .archivo htaccess para reemplazar la configuración.

    busque su web de directorios en el archivo – será en la mayor parte de la conf archivo o segregada en un VirtualHost sección.

    <Directory /path/to/site>
         #add the following setting to allow .htaccess in your web dir to work
         AllowOverride FileInfo
    
         #other settings ---
    
    </Directory>

    Esto le permitirá configurar WordPress Url que quieras, dentro de WordPress.

    ***Editado – Gracias nietonfir Para la actualización. Usar la menor cantidad de privilegios en primera. Si esto no funciona, a continuación, reemplace AllowOverride FileInfo con AllowOverride All

    • Esto es parcialmente correcto. AllowOverride FileInfo es generalmente suficiente, consulte el la documentación de apache. Usted debe esforzarse siempre por el principio de mínimo privilegio.
    • Gracias MTLHD777, funcionó a la perfección para mí 🙂
    • GRACIAS MTLHD777 – esto me ayudó demasiado.
    • Gracias.. Esto me ayudó a configurar wordpress con vagrant.
    • Gracias MTLHD777, ahora funciona! Pero en mi caso, el archivo a insertar el «AllowOverride FileInfo’ no fue /etc/apache2/httpd.conf pero /etc/apache2/sites-available/default.
    • Esto sólo me salvó el día!
    • Ya esta resuelto mi permalinks no funciona problema.

  2. 41

    No puede ser varias cosas a la prevención de la regla de reescritura de trabajo. Mi servidor ubuntu necesita 3 cosas cambiaron para obtener permalinks de trabajo.

    En las versiones más recientes de apache2, necesita habilitar el módulo:

    sudo a2enmod rewrite
    sudo service apache2 restart

    Usted también puede necesitar modificar el apache2.conf archivo.

    sudo nano /etc/apache2/apache2.conf

    Cambiar su directorio web de invalidar la regla para AllowOverride All.

    <Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    Después de eso, reinicie de nuevo el servicio.

    El .htaccess en el directorio de instalación de WordPress en las necesidades a ser de propiedad o de lectura/modificable por el servidor web.

    Esto se puede lograr mediante el cambio de propietario a www-data (generalmente el usuario del servidor de web), o cambiar los permisos.

    sudo chown www-data /var/www/wordpress-install/.htaccess 

    O

    sudo chmod 664 /var/www/wordpress-install/.htaccess

    Ingrese a su panel de administración de WordPress backend y guardar la configuración de enlace permanente, y que esperamos sea de trabajo.

    • Accesorios para el muy completa respuesta!
    • Tenía que documentar la crazyness fui a solo para mi futuro!
    • En mi caso fue el AllowOverride All cláusula que estaba fallando
    • Hizo que mi día – gracias
    • Esta respuesta me ayuda mucho.
  3. 28

    Esto está resuelto. Yo no había habilitado el mod_rewrite. Así que hice esto:

    $ sudo a2enmod rewrite
    Enabling module rewrite.
    To activate the new configuration, you need to run:
      service apache2 restart
    $ service apache2 restart
     * Restarting web server apache2                                                                              
    • Lo que mola. 🙂
    • En el hecho de que resolvió mi problema. Pensé que el AllowOverride era el problema.
    • Gracias…se me pasó la misma cosa :):)
    • En mi situación, y AllowOverride FileInfo, eran necesarias para que funcione.
  4. 8

    Usted quiere decirle a apache para seguir su .archivo htaccess. Usted puede hacer esto mediante la edición de el apache.conf archivo de

    $sudo nano /etc/apache2/apache.conf

    Desplácese hacia abajo a la línea de
    Por defecto será:

    <Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>

    cambiar el valor de AllowOverride a Todos, así que ahora se convierte en:

    <Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>

    Presione ctrl+x y pulse s para guardar el archivo de configuración. Con el fin de hacer esto cambia con el servidor primero activar el mod_rewrite por.

    $ sudo a2enmod rewrite

    Y, a continuación, reinicie el servidor

    $ sudo service apache2 restart

    Hecho!

    Fuente: https://www.wst.space/riddling-with-wordpress-permalink-setup-issues/

    • actualización: sudo nano /etc/apache2/apache2.conf
  5. 6

    uso a continuación .htaccess código, solo tienes que poner el nombre del proyecto (que se encuentra en el directorio www) en el código de abajo,

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

    Gracias

    • gran ans. Su trabajo para mí. Gracias @krunal
  6. 0

    Si la creación de una nueva o clonado sitio en ubuntu, recuerde enlace simbólico al archivo de configuración del sitio por ejemplo, /etc/apache2/sites-available/your-file.conf a la /etc/apache2/sites-enabled carpeta de apache carga.


    Correr: sudo a2ensite your-file.conf, entonces sudo service apache2 reload.

    sudo a2dissite your-file.conf para eliminar el enlace simbólico es decir, desactivar config.

  7. 0

    Me iba a enfrentar con el mismo problema y había una cosa más que buscar.

    Aquí es lo que usted necesita hacer para permalinks de wordpress funcione correctamente:

    1. Asegúrese de tener el permiso de los modos de archivos y carpetas en el directorio de wordpress:

      sudo find . -type f -exec chmod 644 {} +

      sudo find . -type d -exec chmod 755 {} +

    2. Para permalink estructura asegúrese de mode_rewrite está habilitado en apache:

      sudo a2enmod rewrite

      sudo service apache2 restart

  8. 0

    Los usuarios de WAMP (Windows): Algunas versiones de WAMP (todas las versiones?) no activar el mod_rewrite o permiso de los siguientes Enlaces por defecto. Para habilitar la funcionalidad requerida vaya a la apache/conf/httpd.conf file, abrir con un editor de texto y descomentar la línea LoadModule rewrite_module modules/mod_rewrite.así (es decir, eliminar el hash/signo de libra en la parte delantera de la línea). A continuación, más abajo en el mismo archivo hay una sección que comienza con la línea «Options FollowSymlinks«. Cambio de la segunda línea en la sección de «AllowOverride none» a AllowOverride all. Guardar editado httpd.conf y reiniciar todos los WAMP módulos. Tus permalinks ahora debería funcionar.

    Para obtener más detalles, la Fijación de los Problemas Permalink

  9. 0

    Otra posibilidad: acabo de actualizar mi macOS que siempre los tornillos hasta el archivo de configuración de Apache. Entre otras cosas, también he tenido que volver a habilitar la mod_rewrite módulo. Busque la línea que dice,

    #LoadModule rewrite_module libexec/apache2/mod_rewrite.so

    Y quitar el hash por lo que dice,

    LoadModule rewrite_module libexec/apache2/mod_rewrite.so
  10. 0

    Una cosa más para comprobar si esto describe su problema:

    • htaccess y mod_rewrite está configurado correctamente
    • De error 404 en algunos de los permalinks, pero otros no

    Asegurarse de que no existen .php archivos o directorios en la misma carpeta de tu instalación de WordPress con nombres que coincidan con un WordPress permalink.

    Por ejemplo, si usted tiene los siguientes WordPress página permalinks:

     example.com/name_one/
     example.com/name_two/

    y el directorio que contiene a su instalación de WordPress incluye el siguiente archivo:

     name_one.php

    entonces este será el resultado:

    Lo que es más importante, la segunda URL dará un mensaje de error 404 en lugar de correr name_one.php, es decir, este problema es difícil de diagnosticar, ya que puede dar los mismos síntomas que un escrito incorrectamente .archivo htaccess.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein

Pruebas en línea