Otomatik yönlendirme nasıl önlenir?


16

Wordpress, URL'lerinizin yanlış yazıldığını algılarsa otomatik olarak yeniden yönlendireceği bir özelliğe sahiptir. İşte bir örnek: adlı bir sayfam varmy-page

Eğer gidersem:

www.mysite.com/something/my-page/

beni hemen şuraya yönlendirecek

www.mysite.com/my-page/

çünkü ilk URL'de hiçbir şey yok.

Bu özelliği nasıl kapatabilirim ve bunun yerine yanlış URL'ler girilirse 404'ü nasıl alabilirim?


Neler olup bittiğini izlerseniz (HttpFox veya WireShark veya benzer bir paket dinleyicisi aracılığıyla), bu sayfalar uygun davranış olan 301 Durumuyla - Kalıcı Olarak Taşındı - yönlendirir. Arama motorlarının diğer şeylerin yanı sıra veritabanlarını güncel tutmasına yardımcı olur ve yönlendirme kullanıcıların sayfaları bulmasına yardımcı olur. Bu, bir sayfayı taşıdığınızda veya bir kalıcı bağlantıyı değiştirdiğinizde WordPress'in şeyleri nasıl işlediğini etkileyebilir, bu yüzden dikkatli olun. Her neyse, seçiminiz ama bunun iyi bir fikir olduğundan emin değilim.
s_ha_dum

Bunun iyi bir şey olduğunu biliyorum, anlıyorum. Ancak, bu davranışa ihtiyaç duymadığım özel bir kullanım durumum var. URL yeniden yönlendirme işleyen bir eklenti geliştiriyorum ve bu yüzden bu davranışı geçersiz kılmak istiyorum.
Mazatec

Burada daha Doğru cevap: bağlantı
Binod - GoFundMonica

Yanıtlar:


23

Bu benim için çalıştı:

remove_action('template_redirect', 'redirect_canonical');

Bana ne yapacağına rehberlik edebilir misin? kurallı yönlendirme nedir? wordpress'te
yeniyim

Beni çok fazla baş ağrısından kurtardın! teşekkür ederim ! :-D
Jenski

1
Bu yönlendirmeleri tek tek kaldırabileceğimiz hiçbir yer yok mu?
Shane Jones

Bu harika. Bunu wp-adminkullandıktan sonra neden hala yönlendirme yapıyor olabileceğinizi biliyor musunuz ?
Gezim

Bu konunun ayrıntılı bir açıklamasını dev4press.com/blog/wordpress/2015/…
ronnefeldt

5

Ash'in önerdiği gibi, aşağıdaki kodu kullanarak özelliği kapatabilirsiniz:

remove_action('template_redirect', 'redirect_canonical');

Canonical.php içindeki redirect_canonical işlevine bakıldığında, davranışı kendi filtrenizle de değiştirebileceğiniz görülüyor.

Redirect_canonical () işlevinin sonunda, son yanıtı filtrelemek için bir çağrı vardır:

$redirect_url = apply_filters( 'redirect_canonical', $redirect_url, $requested_url );

Böylece, girdiye bağlı olarak son yönlendirmeyi değiştirmek için kendi filtrenizi yazabilir veya yönlendirmeyi durdurmak için null değerini döndürebilir, böylece belirli bir URL veya URL alt kümesi için özelliği kapatabilirsiniz .

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.