Var olmayan alt sayfaların yeniden yönlendirilmesi için Htaccess

0

Soru

Yeni başlattığım bir web sitesi için, mevcut olmayan tüm alt sayfaları yakalayan bir htaccess yönlendirmesi istiyorum /blog/ sadece işaret etmek için /blog/ ve bir 404 değil (yani /blog/old-page/ sadece yönlendirmek istiyorum /blog/). Hala mevcut alt sayfalar (gibi ancak önemli /blog/new-page/ hiç yönlendirilen değil. Bunun kök htaccess dosyasında (alt klasörde değil) olması da en iyisidir. Her şeyi denediğimi hissediyorum ,ancak her bir eski alt sayfa için yönlendirme yapmadan bunun için bir çözüm bulamıyorum (>100 var)! Umarım biri yardım edebilir.

.htaccess
2021-11-21 15:38:40
1

En iyi cevabı

2

Tüm eski sayfa url'leriniz formda olsaydı /blog/<old-page>/ ve daha önce fiziksel dizinlerle eşleştirildi (bundan DirectoryIndex belge sunuldu) daha sonra kökünüzün üstündeki mod_rewrite kullanarak aşağıdaki gibi bir şey yapabilirsiniz .htaccess dosya:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(blog/)[^/]+/$ /$1 [R=301,L]

$1 ikame dizesinde, ilk yakalama grubuna bir backreference bulunur. RewriteRule örüntü, yani. "blog/". Bu sadece tekrarı kaydeder.

Kenara: az önce tekrar endişe ifade olarak yorumlar. SEO ve kullanıcılarla ilgili olarak, bu muhtemelen eksik sayfa(lar) ı açıklayan özel bir 404 yanıtından daha kötüdür. Arama motorları muhtemelen bunu (çok yönlü bir yönlendirme) yine de bir soft-404 olarak görecek ve kullanıcıların beklediklerinden farklı içerik gördüklerinde "kafası karışmış" (ve sıçrama) olma olasılığı daha yüksektir. Gerçekten "eski" den "yeni" ye (bire bir) 301 yönlendirmelerinin yerini tutamaz.

2021-11-25 11:06:08

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................