if (strstr($_SERVER['REQUEST_URI'],'index.php')) {
header('HTTP/1.0 404 Not Found');
}
Neden bu işi alışkanlık? Ben boş bir sayfa olsun.
Sizin kod teknik olarak doğru. O boş sayfanın başlıklarına baktım, bir 404 başlık görmek istiyorum, ve diğer bilgisayarlara / programların dosya bulunamadı gibi doğru yanıtı tanımlamak mümkün olacaktır.
Tabii ki, kullanıcılar hala SOL vardır. Normalde, 404s web sunucusu tarafından işlenir.
Sorun web sunucusu PHP sayfayı işlemeye başladığında, bu zaten bir 404 işlemek noktaya iletilen, bir
404 başlık sağlamanın yanı sıra, PHP, şimdi gerçek bir 404 sayfa çıktısı için sorumludur.
That is correct behaviour, it's up to you to create the contents for the 404 page.
The 404 header is used by spiders and download-managers to determine if the file exists.
(A page with a 404 header won't be indexed by google or other search-engines)
Normal kullanıcılar ancak http-başlıkları bakmak ve normal bir sayfa olarak sayfayı kullanmayın.
if (strstr($_SERVER['REQUEST_URI'],'index.php')){
header('HTTP/1.0 404 Not Found');
echo "<h1>404 Not Found</h1>";
echo "The page that you have requested could not be found.";
exit();
}
Eğer son iki echo hatlarında bakarsanız içeriği göreceksiniz, nerede bu. İstediğiniz ancak bunu özelleştirebilirsiniz.
5.4 php yana şimdi yapabileceğiniz http_response_code(404);
a>
if($_SERVER['PHP_SELF'] == '/index.php'){
header('HTTP/1.0 404 Not Found');
echo "<h1>404 Not Found</h1>";
echo "The page that you have requested could not be found.";
die;
}
echo ifadeleri basitleştirmek, asla ve de neden sayfada bir substr çalıştırmak, yukarıdaki gibi yarı kolon asla unutmayacağım, biz kolayca sadece PHP_SELF çalıştırabilirsiniz
@ Kitet en dayalı başka bir çözüm.
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
header("Status: 404 Not Found");
$_SERVER['REDIRECT_STATUS'] = 404;
//If you don't know which web page is in use, use any page that doesn't exists
$handle = curl_init('http://'. $_SERVER["HTTP_HOST"] .'/404missing.html');
curl_exec($handle);
Eğer denetim yok bir sunucuda barındırılan bir web sitesi programlama iseniz, "404missing.html" hangi dosya bilemezsiniz. Ancak yine de bunu yapabilirsiniz.
Bu şekilde, aynı sunucuda normal bir 404 sayfa tam olarak aynı sonucu verdi. Bir gözlemci 404 ve olmayan varolan bir sayfa döndürür varolan PHP sayfasına ayırt etmek mümkün olmayacaktır.
Bazı rafine kullanabilirsiniz doğru olsa da bunu yapıyoruz. Böylece en pratik uygulama faydalarını konuşalım ele alınmıştır gibi görünüyor:
Çok dilli teknik dokümanlar geniş bir koleksiyona sahiptir bizimki eski bir web sitesi bir else if koşullu içinde bu yürütülüyor:
if (<no file found>){
die("NO FILE HERE");
}
(Yararsızdır mesaj ve kötü bir kullanıcı deneyimi dışında) Sorun genellikle kötü bağlantılar ve eksik belgeleri kontrol etmek (bizim durumumuzda bütünlük içinde) bir bağlantı paletli kullanmanız olmak. Bu, bir dosya var olduğunu bize anlatan bir mükemmel doğru 200 hata yanıtı elde edildi demektir. Dürüstlük yüzden biz elle php ile bir 404 başlık eklemek zorunda PDF beklediklerini bilmiyordum. (Sonradan hiçbir şey yürütmek istiyorum ve başlık her zaman herhangi bir render html önce olması gerektiğini çünkü) kalıbın üstünde kod ekleyerek, bütünlüğü (daha fazla ya da daha az bir tarayıcı gibi davranan) bir 404 dönecekti ve biz tam olarak nerede eksik aramaya bilemez dosyaları. Orada bir hata olduğunu kullanıcıya söylüyorum daha şık yolu vardır, ama bir 404 hatası sunarak (Ben inanıyorum-düzeltmek yanılıyorsam beni) de vardır tarayıcılar ve hata tarayıcı gibi programları bildiren ama değil sadece kolayca 404s için grep edebilirsiniz sunucu günlüklerinde bu hataları kayıt.
header('HTTP/1.0 404 Not Found');
die("NO FILE HERE");
Sen benim web ben böyle bir şey yarattı, biliyorum:
$uri=$_SERVER['REQUEST_URI'];
$strpos=strpos($uri, '.php');
if ($strpos!==false){
$e404="The page requested by you: "".$_SERVER['REQUEST_URI']."", doesn't exists on this server.";
$maybe=str_replace('.php','',$uri);
$maybe=str_replace('/','',$maybe);
die("<center><h1>404</h1><hr><h3>$e404</h3><h3>Maybe try <a href=$maybe>www.leaveyortexthere.p.ht/$maybe</a>?</center>");
}
ben size yardımcı olur umarım.