Buna birkaç olası yaklaşımlar vardır, ancak aşağıdakilerden birini yapacağını: @LazyOne önerdiği gibi
Sen özel belgeye .php
uzantılı dosyaları yeniden yönlendirmek için, mod_rewrite
kullanabilirsiniz:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f # Only redirect to error for files that don't exist
RewriteRule ^(.*)\.php$ /404.php [L]
Yoksa zaten yaptığı gibi PHP hata işleyicisi aracılığıyla her şeyi yönlendirmek ve istenen kaynak PHP komut dosyası olup olmadığını belirlemek için PHP kullanabilirsiniz:
<?php
if (strtolower(substr($_SERVER['SCRIPT_URL'], -4)) != '.php') {
// If the requested resource does not have a .php extension, include the standard error doc and exit
include '404.html';
exit;
}
// Handle .php 404s here
Bu ikinci yaklaşımın dezavantajı, standart hata belgesini yeniden yazmanız gerekebilir, böylece kullanıcıya ve istenen kaynak yoluna görüntülemek için dinamik bilgi almak için PHP'yi kullanmanız gerekir.
siz "her şeyi alır" ne demek istiyorsunuz sizin 404.php dosyasında bu koy? 404 php isteği veya bir resim olursa olsun bulunmayan herhangi bir HTTP isteği için bir yanıt kodudur. –
demek istediğim, www.example.com/img/errorimg.jpg adresini seçtiğimde, www.example.com/404.php adresine yönlendirecek ve bunu istemiyorum. – user1040899
Bunu URL Rewriting (mod_rewrite) ile uygulamaya çalışın - herhangi bir mevcut olmayan .php dosyasına isteklerinizi özel 404.php'ye yönlendirin - bu mümkün (3 veya 4 satırda) – LazyOne