我Hompeage加載網站使用此腳本連接404頁:如何使用PHP頁面加載腳本
<?php
if(!isset($_GET['id'])) $id = 'home';
else $id = $_GET['id'];
include($id.'.php');
?>
難道你們任何人有一個想法,如何將一個404錯誤頁面,它連接? 意思是,如果Php找不到頁面,它會將用戶發送到404頁面。
感謝您的幫助!
我Hompeage加載網站使用此腳本連接404頁:如何使用PHP頁面加載腳本
<?php
if(!isset($_GET['id'])) $id = 'home';
else $id = $_GET['id'];
include($id.'.php');
?>
難道你們任何人有一個想法,如何將一個404錯誤頁面,它連接? 意思是,如果Php找不到頁面,它會將用戶發送到404頁面。
感謝您的幫助!
像這樣的事情可能?
<?php
if(!isset($_GET['id']))
{
$id = 'home';
}
else
{
$id = $_GET['id'];
}
if (is_file($id . '.php'))
{
include($id . '.php');
}
else
{
include('404.php');
}
?>
完美的作品!謝謝 – JSt 2013-03-24 17:07:36
如果你想重定向用戶,因爲不存在的文件,你應該使用服務器的指令,在Apache中它是在.htaccess文件中。
如果你想將用戶重定向,因爲不存在的ID,因此它想不=存在的文件,你可以重定向他:
if($_GET['id']) ... is not existent){ // type your criteria here
header('Location: your_404_page.php');
die();
}
您使用的是什麼服務器? Apache使用.htaccess很容易做到這一點[http://www.htaccessbasics.com/404-custom-error-page/](http://www.htaccessbasics.com/404-custom-error-page/) – Adidi 2013-03-24 16:31:34
請此代碼非常小心,因爲它似乎非常危險。基本上,你允許用戶完全控制你的文件。考慮用戶能夠像'id'那樣傳遞類似的情況:''../../../ some-file''。你應該真的檢查用戶是否被允許訪問該文件,並且最好從我檢查過的傳遞參數 – thaJeztah 2013-03-24 16:37:03
中去除路徑信息,但是你真的可以獲取php文件並且不能訪問其他文件夾。 – JSt 2013-03-24 17:05:08