htaccess 404 yönlendirmesi hata URL'ler gibi / cat / sub / .html için

3 Cevap php

Nasıl 404 hata sayfası (aşağıda) böyle bir bağlantı yönlendirebilir?

http://www.blabla.com/category/sub/.html

Ben bir SEO dostu bağlantıları, normalde ürünlerini üretmek var blabla.com / kategori / alt / product.html gibi url

the page doesnt give any error. it just display blank content. I mean i can see static texts like CATEGORY NAME header and but there is no dynamic categoryname next to that, because of url is wrong and cant get record from db. page doesnt display dynamic contents, but display static contents

Takdir yardımcı olur! teşekkürler

3 Cevap

Sorgu herhangi bir satır neden yoksa, sen 404 için başlık ayarlayabilirsiniz - bulunamadı ve 404 sayfaya yönlendirme

örneğin:

<?php    

    //$rows is the num_rows of the query
    if ($rows > 0) {    
      //your code here    
    } else {    
      header("HTTP/1.1 404 Not Found"); 
      header("Location: 404.html");
      exit();
    }

?>

Kullanmanız gereken htaccess hata yakalamak için.:

ErrorDocument 400 /errors/400.html
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html

Apache bu meydana ne hata bağlı olarak bu sayfalardan birini yüklemek gerektiğini artık biliyoruz olacaktır. Bir dinamik çözüm yerine bize bir php script (örn. 404.php) can.

İşte http://www.blabla.com/category/sub/.html bir hata iletisi görüntüler anlamına gelir ve sunucu bir hata başlığını (bu durumda 404) oluşturmak böylece motorları bunu taramasını olmayacaktır arayacaktır.

Sen .htaccess denilen http kök dizininde bir dosya oluşturmak ve içine kodu PLASTING bu kodu kullanabilirsiniz. .htaccess bir dosya uzantısı değil, bir dosya kendisi.

Daha fazla bilgi olabilir found here

Yönlendirme etmeyin! Bir yönlendirme (30x) bir 404 gönderme gibi aynı değildir! Sadece hata belge ile birlikte uygun bir durum kodu gönderir:

if (!$documentFound) {
    header($_SERVER['SERVER_PROTOCOL'].' 404 Not Found', true, 404);
    readfile('error404.html');
    exit;
}