Htaccess veya php başlığı ile URL'lerin sayıda yönlendiriliyor

3 Cevap php

Ben büyük bir web sitesi revizyon uğramıştır ve şimdi ölü sayfaları veya 404 hatalara yol arama motorları ve harici sitelere, imi hizmetleri vs den 5.000 + gelen bağlantıları var.

Sayfaların bir çok "kalıcı" ya da bilinen yedek hiyerarşi / URL yapısını tekabül var.

Ben açıkça sürdürülebilir değildir, sadece bir başlık yer reidrect ile htaccess veya fiziksel dosyaları ile ana yönlendirmeleri listelemek başladım!

Ya tüm kırık bağlantıları var ve yeniden kütüğü benim site vb arama motorları için beklemek eski bağlantı adresleri ve onların Htaccess ile yeni adresleri gelen, php başlıklar, mysql, site haritası dosyasının tüm ya da daha iyi listelemek için en iyi yöntem olacaktır ?

Bağlantılar sıfırlanır kadar bu geçici bir süre için dosyaları yönlendirme çok sayıda olması için herhangi bir etkileri var mı?

3 Cevap

Bir veritabanı veya düz bir dosya ve 404 hata işleyicisi dosyasına yükleyin - neden herhangi bir uygun formatta bu listeyi sahip değil? Ve sonra sadece REQUEST_URI için arama ve başlığını (Yer: ") kullanmak yönlendirmek için

. Htaccess

ErrorDocument 404 /404.php

404.php

<?PHP
if ($newurl=db_lookup($_SERVER['REQUEST_URI'])) {
  header("Location: $newurl", 1, 301);
}

Kafa yönlendirmeleri kesinlikle doğru cevap değildir. Eğer SEO korumak istiyorsanız, 301 yönlendirmeleri yapmak isteyeceksiniz. Ben sitenizin yolu yapısı ne olduğunu bilmiyorum, ama bu mod_rewrite kuralları akıllı bir dizi ile mümkün olmalıdır. Başka bir şey varsa, bir takım

Redirect 301 /old-path /new-path

Bir komut dosyası gerekir gelgit üzerinde oluşturulan.

Yönlendirmeler için kesinlikle etkileri vardır. Bir 0, ikinci zaman aşımı ile bir meta yenileme yapıyorsanız, Google gerçek bir 301 yönlendirmesi için uygun bir alternatif olarak kabul edecek, ama diğerleri olmayabilir. Eğer söz konusu yöntemi kullanarak değilseniz, tüm linkjuice kaybediyoruz.

Geçenlerde ne yaptığını, tüm ilgili URL'leri gruplandırılmış yeni. Htaccess ile bir klasöre yeni adresi istemek üzere gelen URL'sini belirli bir desen tarafından tetiklenen Rewrite modülü kullanılarak oldu. Böylece ben oluşturmak ve zamanında benim veritabanından ilgili paramteres damping tarafından, ayrı bir dosya korumak olabilir.

Bir örnek ver:

. Benim site kök klasörünün htaccess olarak, ben böyle bir şey var:

RewriteRule ^resource/show/(.*)_([0-9]*)/ http://www.mysite.no/bulkredirect/dam2news/$2 [R=301,L]

. Sonra, klasörde bulkredirect/dam2news, ben örneğin, yeni yönlendirmeler ile yeni bir htaccess dosyası koymak:

RewriteRule 1119$ http://www.mysite.no/index.php?id=843&tx_ttnews[tt_news]=2594 [R=301,L]

Şimdi, burada anahtar iki kimlik numarası (bu örnekte 1119 ve 2594 yılında) maç yapmak için, tabii ki, ve bu bir akıllı Zincirleme veritabanı sorgusu ile yaptım. Ayrıca muhtemelen sizin durumunuza uyan İfadelerinin çalışmak gerekir. Ama genel bir fikir hem de ana dosya yığılan önlemek için, ayrı bir .htaccess dosya var, ve daha sonra bakım (sadece db sorgu tekrarlamak ve orada dökümü olabilir) kolaylığı sağlamaktır.