㈠ 大神們 thinkphp怎麼設置404頁面 謝謝
在ACTION中新建一個文件EmptyAction.class.php,文件中的代碼如下:
<?php
classEmptyActionextendsAction{
function_empty(){
header("HTTP/1.0404NotFound");//使HTTP返回404狀態碼
$this->display("Public:404");
}
}
?>
在apache中設置
在你的網站配置中加入ErrorDocument404/404.html即可。
在iis中設置
IIS/ASP.net下設置404錯誤頁面
打開apachehttpd.conf配置文件或者新建.htaccess配置文件
首先,修改應用程序根目錄的設置,打開「web.config」文件編輯,在其中加入如下內容:
<configuration>
<system.web>
<customErrorsmode=」On」defaultRedirect=」error.asp」>
<errorstatusCode=」404″redirect=」notfound.asp」/>
</customErrors>
</system.web>
</configuration>
註:上文例中「error.asp」為系統默認的404頁面,「notfound.asp」為自定義的404頁面,使用時請修改相應文件名。
然後,在自定義的404頁面「notfound.asp」中加入:
<%
Response.Status=「404NotFound」
%>
php404
if(如果沒有任何結果)
{
//以前是僅僅顯示「該帖子已經不存在」的提示,現在是:
require(』/404.php』);
@header(』HTTP/1.1404NotFound』);
@header(』Status:404NotFound』);
exit;
}
㈡ PHP如何使404頁面重定向
最近在改一些東西,包括Discuz論壇,在處理Discuzde修改時特別是重新寫了一個404de頁面,讓用戶訪問不存在de頁面時去訪問這個404頁面。但是遇到了一個很奇怪de問題,即無法重定向到這個頁面。
最初操作:
1、把apache中de配置文件里 加入代碼:ErrorDocument 404 /404.php
2、在404頁面de代碼里加上<?php header(」HTTP/1.0 404 Not Found」 ?> 。這個方法是向客戶端發送一個自然deHTTP頭。這個方法要在沒you向客戶端發送任何信息之前使用,因此加在404.phpde文件頭最好。
經過對配置文件和DZ論壇代碼de查看,發現原因:rewrite規則問題,即我做偽靜態de處理,導致第二種地址規則you效,於是已經pass過了伺服器層,apachede404定義不再起作用,所以在讀取數據dephp文件會被執行。針對這種情況應該做處理。
處理:
1、找到被執行de文件:如viewthread.php;
2、在查詢數據後,加上對數據de判斷,如果為空,則填寫重定向代碼;
3、代碼:
if(如果沒you任何結果)
{
//以前是僅僅顯示「該帖子已經不存在」de提示,現在是:
require(』/404.php』);
@header(』HTTP/1.1 404 Not Found』);
@header(』Status: 404 Not Found』);
exit;
}
結果:以上問題解決,可以以404de狀態重定向到我自定義de404頁面。
㈢ php 跳轉到404
在網站根目錄新建個404.html 內容是你自己的。
然後在 index.php 裡面需要404的地方這樣寫:
<?php
header('HTTP/1.1 404 Not Found');
header('location: /404.html');
㈣ php中如何讓頁面返回404錯誤代碼呢
一般在空間商的網站裡面的個人控制面板裡面都有頁面錯誤設置,不不用那麼麻煩。