Projeler ve ajans desteği için müsait · Hızlı yanıt, işi yapan kişiden

PrestaShop sadeleştirilmiş URL'ler artık çalışmıyor veya 404 hatası veriyor

PrestaShop'un sadeleştirilmiş URL'leri, Tercihler > SEO ve URL'ler altında etkinleştirilen web sunucusu URL yeniden yazma mekanizmasına dayanır. Apache'de bu, yeniden oluşturulan bir .htaccess dosyası anlamına gelir; Nginx'te .htaccess yoktur, kurallar sunucu yapılandırmasına elle yazılmalıdır. Etkinleştirmeden sonra genel bir 404 hatası ile zaten dizine eklenmiş bağlantıları bozan bir URL değişikliğinin her birinin kendi nedeni vardır.

Sorunumu anlatayım Mesaj gönderin

Aynı ayar barındırıcıya göre neden farklı davranır

Tercihler > SEO ve URL'ler altındaki Dost URL'leri etkinleştir ayarı, web sunucusunun URL yeniden yazma modülüne dayanır. Apache'de etkinleştirmek, site kök dizininde bir .htaccess dosyası yeniden oluşturur ve bunun devreye girmesi için sunucu tarafında mod_rewrite'ın etkin olması gerekir.

Nginx'te .htaccess dosyası bulunmaz: yeniden yazma kuralları sunucu yapılandırmasına elle aktarılmalıdır. Aynı kutucuğun bir barındırıcıda çalışıp diğerinde hiçbir şey yapmamasının nedeni budur: onu uygulayan mekanizma aynı değildir.

Etkinleştirmeden sonra genel 404 hatası

Sadeleştirilmiş URL'leri etkinleştirdikten hemen sonra tüm sayfalarda görülen bir 404 hatası, çok sık olarak yeniden oluşturulmamış ya da sunucu tarafında bir müdahaleyle (barındırıcı değişikliği, yedek geri yükleme, güncelleme) üzerine yazılmış bir .htaccess dosyasından kaynaklanır. Aynı ayar ekranındaki yeniden oluşturma düğmesi, bu dosyayı güncel kurallarla yeniden oluşturur.

Ürün URL formatını sonradan değiştirmek veya alan adını değiştirmek, zaten paylaşılmış veya Google'da dizine eklenmiş tüm bağlantıları bozar: her eski adres için 301 yönlendirmeleri kurulmadan, bu bağlantılar yeni sayfaya yönlendirilmek yerine 404 hatasına düşer.

Belirtiye göre neyi kontrol ediyorum

  1. Apache mi Nginx mi

    Sunucu türü, çözümün bir .htaccess dosyasını yeniden oluşturmaktan mı yoksa sunucu yapılandırmasının kendisini değiştirmekten mi geçtiğini belirler.

  2. Mevcut .htaccess dosyası

    Sitede veya barındırmada yapılan son değişiklikten bu yana yeniden oluşturulup oluşturulmadığını ve gerçekte kullanılan URL yapısıyla eşleşip eşleşmediğini kontrol ediyorum.

  3. Kırık bağlantıların boyutu

    Vaka bazında yönlendirmenin mi yoksa toplu bir politikanın mı gerektiğini ölçmek için, sunucu günlükleri veya Search Console üzerinden hâlâ çağrılan eski URL'leri listeliyorum.

İlgili sayfalar

İhtiyacınızı bir dakikada anlatın

Size bir anket daha değil, doğrudan bir tahmin sunabilmem için birkaç hedefli soru.

version
besoin
etat
theme (facultatif)
Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Size dönebilmem için en az bir e-posta veya telefon numarası belirtin.

Sıkça sorulan sorular

'Dost URL'leri' işaretledim ama hiçbir şey değişmiyor, neden?
Nginx'te kutucuğu işaretlemek yeterli değildir: oluşturulacak bir .htaccess dosyası yoktur, kuralların sunucu yapılandırmasına elle eklenmesi gerekir.
Kısa süredir tüm sayfalarım 404 veriyor, önce neyi kontrol etmeliyim?
.htaccess dosyasını: Apache'de, özellikle barındırma tarafında bir müdahaleden sonra, genel bir 404 hatasının en sık görülen nedeni budur.
Ürünlerimin URL formatını değiştirdim, eski bağlantılar çalışmıyor, bu normal mi?
Evet, her eski adres için bir 301 yönlendirmesi kurulmadan, eski bağlantı yeni sayfaya yönlendirilmek yerine 404 hatasına düşer.
Çok sayıda eski URL'yi yenilerine nasıl yönlendiririm?
Birkaç adres için vaka bazında yönlendirme yeterlidir. Büyük bir hacim için, veritabanı düzeyinde çalışmak veya özel bir betik kullanmak, tek tek elle girmekten daha güvenilirdir.