In che modo WordPress gestisce i permalink?


11

WordPress corregge automaticamente i permalink (URL) anche se è stato inserito in modo errato. Ad esempio WordPress ti farà atterrare example.com/some-postanche se entri example.com/idontexist/some-posto addiritturaexample.com/some

Potrebbe essere che WordPress utilizzi RegEx come o qualche algoritmo di corrispondenza che confronta da destra a sinistra e se trova una corrispondenza, ti porterà alla pagina anche se ce ne sono /.*/a sinistra. Solo una supposizione! Come funziona WordPress?

Edit: Ho anche notato che i controlli file .htaccess per i file / directory virtuali utilizzando !fed !de reindirizza la richiesta al index.php sulla cartella blog.

Risposte:


6

La funzione redirect_canonical in /wp-includes/canonical.php viene chiamata su qualsiasi URL dato e tenterà di indovinare meglio l'URL desiderato dall'utente e reindirizzarli lì, quando non esiste un URL. Ha una quantità enorme di codice per fare questo per tutti i tipi di errori comuni.


1
Eseguito l'upgrade per "quantità enorme": D.
Travis Northcutt,


1

È abbastanza semplice WordPress utilizza l'operatore LIKE nella query SQL per indovinare l'URL completo dall'URL parziale quando è una pagina 404

Controlla questo codice preso dalla redirect_guess_404_permalink()funzione /wp-includes/canonical.php

$where = $wpdb->prepare( 'post_name LIKE %s', $wpdb->esc_like( get_query_var( 'name' ) ) . '%' );
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.