Los enlaces de categorías de repente comenzaron a dar errores 404
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

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

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!

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

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.

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.

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

¿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.

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í

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:
- Desde el panel de control, ve a Plugins y selecciona Editor.
- Selecciona "Advance-permalink/Advance-permalink.php"
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');
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.

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.

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:
Inicia sesión en tu sitio WordPress.
Haz clic en Panel de control → Ajustes → Enlaces permanentes.
Suponiendo que tu configuración está en "Nombre de la entrada", selecciona "Numérico" y luego haz clic en "Guardar cambios".
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.
