Un cliente acaba de crear una publicación con una barra muy larga (90 caracteres), sin caracteres especiales (aparte de guiones), etc.
Cada vez que se hacía clic en el enlace a esa publicación, incluidos los enlaces "Vista previa" o "Ver esta publicación" desde el back-end del administrador, se generaba un 404.
Una vez que recortamos manualmente la babosa, todo funcionó como se esperaba. Es esta una característica o un error"?
EDITAR: una nota para todos aquellos que hablan sobre los límites de DB.
Si llegara al límite del campo DB, entonces la babosa misma se truncaría. Piénsalo un segundo. En el caso de la mayoría de las instalaciones de WP, wp_posts.post_name es VARCHAR (200). Entonces, digamos que alguien escribe un título con> 200 caracteres. ¿Lo que pasa? La babosa se trunca a 200 caracteres y se almacena en wp_posts.post_name. No es que alguien entre y escriba el título completo de la publicación en la barra de direcciones del navegador, sustituyendo los espacios con guiones, ¿verdad? La URL está siendo generada por WordPress, y está obteniendo la URL de la tabla wp_posts.post_name y simplemente poniéndola en el atributo href de la etiqueta de anclaje. Entonces no habrá una disparidad allí. Todo el asunto DB es un arenque rojo.
En cualquier caso, la babosa en cuestión es solo 90 caracteres, por lo que no tiene nada que ver con los límites de DB.
¿Hay alguna limitación conocida sobre la reescritura?
Respuestas:
Debido a la estructura de la tabla wp_posts, la longitud de la columna post_name (la columna para las babosas) es igual a 200 caracteres.
fuente
Supongo que no tiene un límite en sí mismo, pero la propiedad del campo en la base de datos para las babosas podría establecerse en una longitud máxima.
¡Así que revisa la base de datos!
fuente
Probablemente el problema ni siquiera estaba relacionado directamente con WordPress / base de datos ...
Pero la longitud de la URL superó los 255 caracteres (y no a todos los navegadores les gusta).
Lo que sucedió aquí podría haber sido una URL de más de 255 caracteres, que fue truncada por la barra de direcciones del navegador al abrirla ... causando la recuperación de un enlace permanente incorrecto ... que resultó en un 4o4.
Asumible, la longitud máxima de la bala podría ser:
255 - la longitud de (Protocolo + FQDN + estructura de enlace permanente) ...
Pero no puede ser más de 200 caracteres ...
Incluso si algo más podría haber causado el 4o4 en este caso particular.
Podría haber sido un personaje que no estaba correctamente codificado en url, las razones para 4o4 son infinitas ... ¿alguna vez se consideró un clúster defectuoso en HDD o un módulo RAM defectuoso? :)
fuente