2012-10-02 77 views
2

我很想知道是否有辦法讓PHP頁面或其他服務器端邏輯攔截URL,如果URL「www.mysite.com/about/mission_statement」被查詢,但我不' t在「about/mission_statement」有一個頁面,我可以從「some/other/folder/with/pages」提供內容。有沒有辦法爲沒有實際支持頁面的URL提供網頁?

有沒有人知道這是可能的,還是我必須確保我有一個頁面可用於我希望處理的每個URL地址?

+1

我們在我們的系統上使用了404處理程序,這是一種黑客攻擊,它不時讓我們感到困惑!事實上,我們從來沒有任何404的!所以我真的會鼓勵Eric J的解決方案,因爲它可以讓你控制你想重定向的url模式,並且仍然可能使用404處理程序來處理404。 – Gavin

+0

是的,這並不完美。這是解決問題的一種簡單方法。理想情況下,添加一個可以單獨處理404的404腳本:) – nickhar

回答

2

您使用Apache再次假設,那麼你有多種選擇:針對特定的網頁/內容

使用重寫規則(如在另一個答案指定),或在您的.htaccess文件有一行任何重定向請求不存在(404)到您選擇的特定位置/文件。

這用在.htaccess文件或者在您的文檔根目錄或選擇其他目錄下面的代碼通常envoked:如果您使用PHP動態頁面通過鍵入

ErrorDocument 404 /whatever/path/to/file.php 

,說ID或其他一些動態值,例如:

http://www.somedomain.com/page.php?id=4 

,那麼你需要創建一個重定向到您所選擇的頁面,如果內容不符或存在的函數。

+0

感謝您將我轉到ErrorDocument處理程序,這應該也是有用的。 – BlazeCell

相關問題