2011-09-29 53 views
0

一個簡單的問題。我知道如何在PHP中發送一個404頭,但是當我做的頁面仍然繼續加載內容。在這種情況下,我必須使用die()來殺死腳本。我有一個自定義的自制cms,速度非常快,非常適合我的網站。但由於某種原因,谷歌已經索引了一個不適當的鏈接到網站,這很可能是由於一些舊的代碼不再存在。正在發生的事情是,目錄,如「/AWebDirectory/AndAnother/function.fopen/」已經得到了附加到URL即php發送404頭問題

www.someurl.com/index.php/AWebDirectory/AndAnother/function.fopen/ 

這不是拋出一個404的index.php存在,但CSS和東西由於目錄結構而未加載。任何幫助表示讚賞。

+0

你需要用'.htaccess'來處理這個,而不是用PHP。如果你想擺脫它們,你必須將這些URL重寫爲'index.php'。 – Shef

回答

0

您需要退出腳本,否則它將繼續運行。這個是正常的。我不是100%肯定,但我想你可能會尋找一個重定向:

<?php 

/** 
* @see http://php.net/manual/en/function.header.php 
*/ 

header("Location: http://www.example.com/"); /* Redirect browser */ 

/* Make sure that code below does not get executed when we redirect. */ 
exit; 
?> 

嘗試同時使用404頭,並重定向到您的自定義404錯誤頁面。這應該讓你啓動並運行。

+0

爲什麼要退出? 404頁是很正常的,你知道,他們確實有內容,就像其他頁面一樣。重要的是標題。你甚至沒有給出一個'404'錯誤的例子,但有一個重定向。 – Shef

+0

基於他問的問題,他已經獲得了404頭位。退出後重定向發生,如果我沒有錯。 –