WordPress kalıcı bağlantıları nasıl ele alır?


11

WordPress, yanlış girilse bile kalıcı bağlantıları (URL'ler) otomatik olarak düzeltir. Örneğin, WordPress girseniz veya hatta example.com/some-postgirseniz example.com/idontexist/some-postbile sizi içine alacakexample.com/some

WordPress, RegEx benzeri veya sağdan sola karşılaştırılan bir eşleşen algoritma kullanıyor olabilir ve bir eşleşme bulursa, /.*/solda kalsa bile sizi sayfaya götürür . Sadece bir tahmin! WordPress bunu nasıl yapıyor?

Düzenleme: Ben de sanal dosya / dizinleri için .htaccess dosya kontrolleri kullanarak fark !fve !dve blog klasörüne index.php isteği yönlendirir.

Yanıtlar:


6

/Wp-includes/canonical.php içindeki redirect_canonical işlevi, herhangi bir URL'de çağrılır ve bir URL olmadığında kullanıcının istediği URL'yi en iyi şekilde tahmin etmeye ve oraya yönlendirmeye çalışır. Her türlü yaygın hata için bunu yapmak için büyük miktarda kod vardır.


1
"Bütün büyük miktar" için seçildi: D.
Travis Northcutt


1

Oldukça basit. WordPress, bir 404 sayfası olduğunda kısmi URL'den tam URL'yi tahmin etmek için SQL sorgusunda LIKE operatörünü kullanır

/Wp-includes/canonical.php redirect_guess_404_permalink()işlevinden alınan bu kodu kontrol edin

$where = $wpdb->prepare( 'post_name LIKE %s', $wpdb->esc_like( get_query_var( 'name' ) ) . '%' );
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.