Los enlaces de categorías de repente comenzaron a dar errores 404

23 dic 2010, 21:53:13
Vistas: 15.5K
Votos: 3

Mi blog de Wordpress de repente comenzó a mostrarme errores 404 al acceder a las páginas de categorías. Por ejemplo, http://blog.rtwilson.com/category/tok-related/. Curiosamente, esto no ocurre para subcategorías (como GIS y Remote Sensing, mostradas en la barra lateral del enlace anterior) pero sí ocurre para categorías padre (ej. Academic) y categorías sin hijos (como TOK-related).

¿Alguien tiene idea de por qué puede estar pasando esto? Recientemente cambié la estructura de enlaces permanentes para las entradas del blog, pero no para las categorías. ¿Necesito reconstruir la lista de categorías de alguna manera? Si es así, ¿cómo?

Actualización Contenido del archivo .htaccess:

# 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
2
Comentarios

No recibo ningún error 404 en http://blog.rtwilson.com/category/tok-related/

hakre hakre
24 dic 2010 04:36:56

Esos son enlaces permanentes normales, y tus categorías parecen estar funcionando ahora.

markratledge markratledge
24 dic 2010 05:07:54
Todas las respuestas a la pregunta 6
6

Lo primero que debes probar es volver a guardar tus enlaces permanentes desde el administrador de WordPress.

Asegúrate de que tus cambios se guarden en el archivo .htaccess. Si WordPress te advierte que .htaccess no tiene permisos de escritura, usa FTP manualmente para cambiar los permisos del archivo .htaccess a 644 e inténtalo de nuevo.

El "." al principio del nombre del archivo significa que normalmente es un archivo invisible, así que verifica en tu cliente FTP que esté configurado para mostrar archivos ocultos si no ves el archivo .htaccess en tu directorio web. El archivo .htaccess estará en el mismo nivel de directorio que tu archivo index.php, según la configuración de Dirección del sitio (URL) en tu página de Opciones generales.

Este es un bloque de reescritura estándar de WordPress:

# 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

Si recibes un error 500 del servidor, significa que la codificación de caracteres del archivo es incorrecta y puede haber sido modificada al editar el archivo .htaccess. Puedes intentar renombrar el archivo .htaccess actual y usar tu cliente FTP para crear un nuevo archivo llamado .htaccess.

Si sigues recibiendo errores 404 o comportamientos extraños después de guardar los enlaces permanentes y verificar que el archivo .htaccess contiene el bloque de reescritura anterior, prueba agregar:

global $wp_rewrite; $wp_rewrite->flush_rules();

en el archivo functions.php de tu tema, actualiza la página principal y luego elimina el código. Esto limpiará las reglas de reescritura en la caché y transients.

Hay más consejos y ejemplos de solución de problemas en Usando Enlaces Permanentes « WordPress Codex

23 dic 2010 22:04:33
Comentarios

WP no me advirtió sobre nada. Los enlaces permanentes para las entradas del blog funcionan bien, ¡es solo en las páginas de categorías y no cambié la estructura de enlaces permanentes para esas!

robintw robintw
23 dic 2010 22:07:32

Lo leí; pero el primer paso es guardar nuevamente tus enlaces permanentes de todos modos.

markratledge markratledge
23 dic 2010 22:10:34

Gracias. He vuelto a guardar mis preferencias de enlaces permanentes y verifiqué el archivo .htaccess. El archivo .htaccess tiene una hora de modificación correspondiente al momento en que volví a guardar las preferencias de enlaces permanentes. He incluido el contenido del archivo .htaccess al final de la pregunta.

robintw robintw
23 dic 2010 22:38:57

Intenta agregar global $wp_rewrite; $wp_rewrite->flush_rules(); en el archivo functions.php de tus temas, vuelve y actualiza la página de inicio, luego elimina el código.

onetrickpony onetrickpony
24 dic 2010 04:14:29

@songdogtech Respuesta solo con enlace. ¿Quizás actualizar esta ya que está atrayendo lectores?

kaiser kaiser
15 mar 2015 14:42:15

@kaiser, Gracias, buena idea. Actualicé la mía; y noté que el enlace en la respuesta aceptada no funciona.

markratledge markratledge
15 mar 2015 18:33:38
Mostrar los 1 comentarios restantes
0

¿Alguien tiene alguna idea de por qué podría haber pasado esto?

No recibo un error 404 en esa página, pero para responder a la pregunta: no tengo idea de por qué sucede o no sucede.

Recientemente cambié la estructura de enlaces permanentes para las entradas de mi blog, pero no para las categorías. ¿Necesito reconstruir la lista de categorías de alguna manera?

Cada vez que cambias la estructura de enlaces permanentes en el administrador, los enlaces permanentes se reconstruyen automáticamente, así que no necesitas preocuparte por eso. Y no existe tal cosa como reconstruir la lista de categorías, así que no necesitas preguntarte sobre eso.

24 dic 2010 04:39:30
0

Tuve el mismo problema - había instalado el plugin 'advanced permalinks', y tiene un error... resulta que comentando esta línea

$this->add_filter ('category_rewrite_rules');

en el plugin. La respuesta original no es mía (aunque funcionó para mí) pero fue de aquí

3 feb 2014 00:55:30
0

He instalado el plugin "Advance Permalink" de John Godley el 31 de marzo de 2015 para redirigir mi estructura de enlaces permanentes anterior de http://punch2crunch.com

Después de 36 horas, todas mis categorías comenzaron a generar automáticamente errores 404 y una categoría funcionaba pero se quedaba pegada en una sola entrada. Si te está pasando lo mismo, solo necesitas pegar una cosa.

Sigue estos pasos:

  1. Desde el panel de control, ve a Plugins y selecciona Editor.
  2. Selecciona "Advance-permalink/Advance-permalink.php"
  3. Desplázate hacia abajo hasta encontrar el siguiente código:

    $this->add_filter ('post_rewrite_rules');
    $this->add_filter ('author_rewrite_rules');
    $this->add_filter ('category_rewrite_rules');
    $this->add_filter ('rewrite_rules_array');
    
  4. Simplemente coloca dos barras diagonales // antes de $this->add_filter ('category_rewrite_rules'); como se muestra a continuación:

    $this->add_filter ('post_rewrite_rules');
    $this->add_filter ('author_rewrite_rules');
    //$this->add_filter ('category_rewrite_rules');
    $this->add_filter ('rewrite_rules_array');
    

Actualiza tu sitio y todo volverá a funcionar perfectamente. Si no es así, tendrás que buscar en otro lugar.

2 abr 2015 11:33:25
0

Yo tuve el mismo tipo de problema.

  • Asegúrate de que el módulo de reescritura de Apache esté habilitado y el archivo .htaccess sea correcto
  • Si el paso anterior no funciona, ve a la configuración de enlaces permanentes e ingresa la base de categoría como "category"
  • Algunos plugins de SEO con su propia reescritura pueden causar problemas
  • Si tienes algún plugin de caché, límpialo.
12 nov 2015 20:30:24
0

Esto me sucedió después de que mi proveedor de alojamiento migrara a un servidor diferente. La solución para mí, como markratledge mencionó anteriormente, fue "guardar nuevamente tus enlaces permanentes desde el administrador de WordPress".

Para ampliar esto en detalle:

  1. Inicia sesión en tu sitio WordPress.

  2. Haz clic en Panel de control → Ajustes → Enlaces permanentes.

  3. Suponiendo que tu configuración está en "Nombre de la entrada", selecciona "Numérico" y luego haz clic en "Guardar cambios".

  4. Ahora haz clic nuevamente en el botón de radio "Nombre de la entrada" y selecciona "Guardar cambios".

Esto debería volver a guardar tus ajustes y las etiquetas y categorías deberían funcionar correctamente.

28 sept 2023 22:54:27