Misafir adlı üyeden alıntı:
mesajı görüntüle
Htaccess Dosyasında ID Eşleşmediğinde Hata Sayfasına Yönlendirmeme Sorunu
12
●154
- 22-01-2023, 00:41:47Teşekkürler hocam. Sitenin kod yapısı bir hayli eski. Yani mysql komutlarının büyük bölümü eski komutlar. PDO nadiren güncel yerlerde kullanmış. Tema güncel ama ilk sürüm sayfalarındaki temelden kalma bir çok eski yapı mevcut. Bir de seo url yapısı sağlam değil.
- 22-01-2023, 00:43:30BalabanTURK adlı üyeden alıntı: mesajı görüntüle
RewriteRule ^(.*)$ index.php?do=404 [L,R=404]
bu tüm hatalı urller için 404 e atması gerekiyor açıkcası buda düzeltmezse baska sorunlar olabilir. - 22-01-2023, 00:52:20Yok hocam olmadı
Bu sefer bütün url ler hata vermeye başladı bunu ekleyince. Sayfanın başına da eklesem, sonuna da eklesem aynı. Muhtemelen benim bu altyapıyı komple değiştirmem gerekecek :s Çok teşekkür ederim bana vakit ayırdığınız için.
- 28-01-2023, 10:15:33Eğer .htaccess dosyasını kullanarak hata sayfasına yönlendirme yapmak istiyorsanız, aşağıdaki kodları .htaccess dosyanıza ekleyebilirsiniz:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^haberler/([0-9a-zA-Z-]+)$ index.php?do=haberler&haberkategoriseo=$1 [L,QSA]
ErrorDocument 404 /404.php
Bu kodlar, eşleşme olmayan herhangi bir adres için 404.php dosyasına yönlendirecektir. Eşleşme olmayan adresler için hata sayfasına yönlendirmek için bu kodları kullanabilirsiniz.
Ancak, PHP kodunuzda da bu kontrolü yapabilirsiniz. Örneğin, aşağıdaki kod bloğu, haberler kategorisi için geçerli bir kategori seo adı girilip girilmediğini kontrol eder ve eşleşme yoksa 404 hata sayfasına yönlendirir:
<?php
if(!isset($_GET['haberkategoriseo']) || empty($_GET['haberkategoriseo'])) {
header("HTTP/1.0 404 Not Found");
include("404.php");
exit();
}
$kategori_adi = $_GET['haberkategoriseo'];
// burada kategori seo adının veritabanındaki kategori ile eşleşip eşleşmediğini kontrol edebilirsiniz
// eşleşme yoksa 404 hata sayfasına yönlendirmek için
header("HTTP/1.0 404 Not Found");
include("404.php");
exit();
Bu PHP kodu index.php dosyasına ekleyebilirsiniz ve eşleşme olmayan adresler için hata sayfasına yönlendirmek için kullanabilirsiniz.
Bu sefer bütün url ler hata vermeye başladı bunu ekleyince. Sayfanın başına da eklesem, sonuna da eklesem aynı. Muhtemelen benim bu altyapıyı komple değiştirmem gerekecek :s Çok teşekkür ederim bana vakit ayırdığınız için.