¿Cómo maneja WordPress los enlaces permanentes?


11

WordPress corrige automáticamente los enlaces permanentes (URL) incluso si se ingresa incorrectamente. Por ejemplo, WordPress lo aterrizará example.com/some-postincluso si ingresa example.com/idontexist/some-posto inclusoexample.com/some

Puede ser que WordPress use RegEx o algún algoritmo de comparación que se compare de derecha a izquierda y, si encuentra una coincidencia, lo llevará a la página incluso si /.*/queda a la izquierda. ¡Solo una suposición! ¿Cómo hace esto WordPress?

Editar: También noté que el archivo .htaccess busca archivos / directorios virtuales usando !fy !dy redirige la solicitud a index.php en la carpeta del blog.

Respuestas:


6

La función redirect_canonical en /wp-includes/canonical.php se llama en cualquier URL dada e intentará adivinar mejor la URL que el usuario quería y redirigirla allí, cuando no existe una URL. Tiene una gran cantidad de código para hacer esto para todo tipo de errores comunes.


1
Votaron por "gran cantidad": D.
Travis Northcutt


1

Es muy simple WordPress utiliza el operador LIKE en la consulta SQL para adivinar la URL completa de la URL parcial cuando se trata de una página 404

Verifique este código tomado de la redirect_guess_404_permalink()función /wp-includes/canonical.php

$where = $wpdb->prepare( 'post_name LIKE %s', $wpdb->esc_like( get_query_var( 'name' ) ) . '%' );
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.