導航:首頁 > 編程語言 > php設置404頁面

php設置404頁面

發布時間:2022-06-15 09:44:11

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

一、 Apache下設置404
為Apache Server設置 404錯誤頁面的辦法很復雜,只需:
(1)在.htaccess 文件中參加如下內容:ErrorDocument 404 /notfound.php,將.htaccess文件上傳到網站根目次。
(2)製造一個404頁面,隨意您計劃,定名為notfound.php,異樣上傳到網站根目次。
留意:
(1).牢記不要將404錯誤轉向到網站主頁,不然能夠會招致主頁在搜刮引擎中消逝。
(2).牢記不要運用相對URL,假如運用相對URL前往的形態碼是302+200。
二、 IIS/.net設置404
起首,修正使用順序根目次的設置,翻開 web.config文件編輯,在此中參加如下內容:
以下為援用的內容:
<configuration>
<system.web>
<customErrors mode=On defaultRedirect=error.asp>
<error statusCode=404″ redirect=notfound.asp />
</customErrors>
</system.web>
</configuration>
註:上文例中error.asp為零碎默許的404頁面,notfound.asp為自界說的404頁面,運用時請修正相應文件名。
然後,在自界說的404頁面notfound.asp中參加:
以下為援用的內容:
<% Response.Status = 404 Not Found %>
如許,便可以包管IIS可以准確地前往404形態碼.
編輯本段404製造設置留意事變
1.不要將404錯誤轉向到網站主頁,不然能夠會招致主頁在搜刮引擎中消逝
2.不要運用相對URL,假如運用相對URL前往的形態碼是302+200
3.404頁面設置完成,肯定要反省能否准確。但http頭信息前往的肯定要是404形態。這次要是對搜刮引擎有干係,由於假如你網站發生較多頁面時分但搜刮引擎看到的是許多一樣的正常頁面,有能夠會誤被以為作弊。
4.404頁面不要主動跳轉,讓用戶來決議去處。這觸及到404頁面的製造,提供用戶體驗很緊張,404頁面製造很有學問。 (參考網站: http://www.china16mn.com/ )<% found="" not="" response.status="404">
如許,便可以包管IIS可以准確地前往404形態碼.
編輯本段404製造設置留意事變
1.不要將404錯誤轉向到網站主頁,不然能夠會招致主頁在搜刮引擎中消逝
2.不要運用相對URL,假如運用相對URL前往的形態碼是302+200
3.404頁面設置完成,肯定要反省能否准確。但http頭信息前往的肯定要是404形態。這次要是對搜刮引擎有干係,由於假如你網站發生較多頁面時分但搜刮引擎看到的是許多一樣的正常頁面,有能夠會誤被以為作弊。.....................................................................................................................................................
4.404頁面不要主動跳轉,.讓用戶來決議去處。這觸及到404頁面的製造,提供用戶體驗很緊張,404頁面製造很有學問.

......

③ thinkPHP到底怎麼設置404錯誤頁面

1、首先要在Lib/Action 下建立EmptyAction.class.php模塊
內容如下:
復制代碼 代碼如下:
<?php
/*
* @author rocky
* @date 2011
* @desc 空模塊404等錯誤
* */
class EmptyAction extends CommonAction {
function _empty(){
header("HTTP/1.0 404 Not Found");
$this->display('Public:404');
}
}
?>
2、做完以上處理,只能在訪問到空模塊的時候才會訪問404頁面,所以,為了訪問空方法也訪問404頁面,我們還需要在CommonAction.class.php增加一個空方法了,方法如下:
復制代碼 代碼如下:
//處理所有沒有的方法的處理方法,引導到404頁面
public function _empty() {
R('Empty/_empty');
}
3、做完以上工作基本可以了,但是別忘了把你的404.html頁面放在Tpl/Public下

④ PHPcms404頁面具體步驟怎麼做啊,求高手指教

404頁面可以這樣做:

1、在網站根目錄下建 .htaccess文件

2、在.htaccess文件中寫這行代碼:

ErrorDocument 404 /errorfiles/404.html

3、在根目錄建一個「errorfiles」的文件夾

4、在「errorfiles」文件夾中放一個名為 404.html的文件,也可以是其他任意指定的文件。

⑤ PHP動態站如何設置404

一、 Apache下設置404
為Apache Server設置 404錯誤頁面的辦法很復雜,只需:
(1)在.htaccess 文件中參加如下內容:ErrorDocument 404 /notfound.php,將.htaccess文件上傳到網站根目次。
(2)製造一個404頁面,隨意您計劃,定名為notfound.php,異樣上傳到網站根目次。
留意:
(1).牢記不要將404錯誤轉向到網站主頁,不然能夠會招致主頁在搜刮引擎中消逝。
(2).牢記不要運用相對URL,假如運用相對URL前往的形態碼是302+200。
二、 IIS/.net設置404
起首,修正使用順序根目次的設置,翻開 web.config文件編輯,在此中參加如下內容:
以下為援用的內容:
<configuration>
<system.web>
<customErrors mode=On defaultRedirect=error.asp>
<error statusCode=404″ redirect=notfound.asp />
</customErrors>
</system.web>
</configuration>
註:上文例中error.asp為零碎默許的404頁面,notfound.asp為自界說的404頁面,運用時請修正相應文件名。
然後,在自界說的404頁面notfound.asp中參加:
以下為援用的內容:
<% Response.Status = 404 Not Found %>
如許,便可以包管IIS可以准確地前往404形態碼.
編輯本段404製造設置留意事變
1.不要將404錯誤轉向到網站主頁,不然能夠會招致主頁在搜刮引擎中消逝
2.不要運用相對URL,假如運用相對URL前往的形態碼是302+200
3.404頁面設置完成,肯定要反省能否准確。但http頭信息前往的肯定要是404形態。這次要是對搜刮引擎有干係,由於假如你網站發生較多頁面時分但搜刮引擎看到的是許多一樣的正常頁面,有能夠會誤被以為作弊。
4.404頁面不要主動跳轉,讓用戶來決議去處。這觸及到404頁面的製造,提供用戶體驗很緊張,404頁面製造很有學問。
<% found="" not="" response.status="404">
如此,便可以包管IIS可以准確地前往404形態碼.
編輯本段404製造設置留意事變
1.不要將404錯誤轉向到網站主頁,不然能夠會招致主頁在搜刮引擎中消逝
2.不要運用相對URL,假如運用相對URL前往的形態碼是302+200
3.404頁面設置完成,肯定要反省能否准確。但http頭信息前往的肯定要是404形態。這次要是對搜刮引擎有干係,由於假如你網站發生較多頁面時分但搜刮引擎看到的是許多一樣的正常頁面,有能夠會誤被以為作弊。
4.404頁面不要主動跳轉,.讓用戶來決議去處。這觸及到404頁面的製造,提供用戶體驗很緊張,404頁面製造很有學問.

⑥ 請問php怎麼自定義404錯誤頁面

在php環境下的www文件下建立一個自己建立的404錯誤頁面
如定義為404.php
裡麵包含一些比較友好的圖片。
創建一個.htaccess文件,內容為:errorDocument
404
/404.php(你404錯誤頁面地址),保存。
查看你的APACHE伺服器的rewrite模塊有沒有開啟,
在http.conf里查找LoadMole
rewrite_mole
moles/mod_rewrite.so,去除前面的#,保存並重啟伺服器。
現在再打開一個沒有的界面
即可出現你自定義的404錯誤頁面。

⑦ 如何設置404頁面,404錯誤頁面自定義方法

1、Apache伺服器下設置404錯誤頁面
為Apache Server設置 404錯誤頁面的方法很簡單,首先製作一個名為404.html/404.htm/404.php/404.asp/404.aspx的頁面,視空間要求而定,再在.htaccess 文件中加入如下內容即可(.htaccess文件一般linux空間會自帶的,如果沒有這個文件,自己可以用記事本寫一個,命名為.htaccess,一定要記得去掉記事本文件的.txt哦。而windows虛擬空間是沒有這個文件的,也不用上傳這個文件):
# 404 page
ErrorDocument 404 /notfound.php
(「notfound」是你給你的自定義錯誤頁面的命名,你也可以改成Error.php等等)
注意:
(1).切記不要將404錯誤跳轉到網站主頁,比如使用了js腳本或者meta refresh跳轉技術。否則可能會導致主頁在搜索引擎中消失或者不被收錄.
(2).切記不要使用絕對URL如果使用絕對URL返回的狀態碼是「302」+「200」
2、IIS/ASP.net下設置404錯誤頁面
靜態404錯誤頁面設置
(1)做個404頁面,404.html或者404.htm,根據你的網站實際情況來。
(2)伺服器/虛擬主機管理設置,根據自己的情況,選擇「使用根目錄下的404頁面」,如果自己能找到「消息類型」選項,則要選擇「文件」或者「默認值」,而不能選擇「URL」。如果自己在主機提供商網站的管理後台找不到此「消息類型」選項請聯系技術客服做出修改。這是具有決定性的一步。 這步一定要操作好,如果在後台找不到這個消息類型,就不要自己設置,因為你設置之後肯定返回值是200,所以事先和客服聯系下。
(3)上傳404.htm到網站根目錄,打開一次試試,看是否成功了。

⑧ thinkphp 怎麼跳到404頁面

在ACTION中新建一個文件EmptyAction.class.php,文件中的代碼如下:
<?php
class EmptyAction extends Action{
function _empty(){
header("HTTP/1.0 404 Not Found");//使HTTP返回404狀態碼
$this->display("Public:404");
}
}
?>
復制代碼
在apache中設置

在你的網站配置中加入 ErrorDocument 404 /404.html 即可。

在iis中設置

IIS/ASP.net下設置404錯誤頁面

打開apache httpd.conf配置文件或者新建.htaccess配置文件

首先,修改應用程序根目錄的設置,打開 「web.config」 文件編輯,在其中加入如下內容:
<configuration>
<system.web>
<customErrors mode=」On」 defaultRedirect=」error.asp」>
<error statusCode=」404″ redirect=」notfound.asp」 />
</customErrors>
</system.web>
</configuration>

復制代碼
註:上文例中「error.asp」為系統默認的404頁面,「notfound.asp」為自定義的404頁面,使用時請修改相應文件名。
然後,在自定義的404頁面「notfound.asp」中加入:
<%
Response.Status = 「404 Not Found」
%>

復制代碼
php 404
if(如果沒有任何結果)
{
//以前是僅僅顯示「該帖子已經不存在」的提示,現在是:
require(』/404.php』);
@header(』HTTP/1.1 404 Not Found』);
@header(』Status: 404 Not Found』);
exit;
}

⑨ PHP動態頁面如何讓頁面返回404狀態碼

header("HTTP/1.0 404 Not Found");

這個我剛試了下是可以的,應該是你這句話不是在頁面的頂部,而是中間,頂部默認就輸出一個200了。

⑩ thinkphp怎麼設置添加404頁面

首先應該嘗試在伺服器添加,其實沒這個必要,thinkphp自身便提供了404頁面的處理機制,我們只需要在lib下定義一個EmptyAction.class.php,且實現以下方法即可,如下:

<?php
class EmptyAction extends Action {
function _empty(){
header("HTTP/1.0 404 Not Found");
$this->display('Public:404');
}
// 404
function index() {
header("HTTP/1.0 404 Not Found");
$this->display('Public:404');
}
}
?>

以上通過直接定義空模塊和空操作實現404跳轉,但要注意的是:
設置header頭很重要, 不然的話返回的狀態會是200.
該類對應Public模板目錄下需要有名為404的頁面模板.

閱讀全文

與php設置404頁面相關的資料

熱點內容
超值優惠購買得兩套源碼 瀏覽:42
日產新陽光壓縮機十大品牌 瀏覽:173
javalong的最大值 瀏覽:340
mcs51單片機外部引腳ea 瀏覽:893
蘋果手機怎麼給app給予信用 瀏覽:10
java實型 瀏覽:148
php判斷顯示 瀏覽:695
聯網的單片機 瀏覽:441
安卓錄屏怎麼保存到相冊 瀏覽:350
c語言與單片機 瀏覽:350
tt伺服器是什麼意思 瀏覽:188
賓士app怎麼修改桌面 瀏覽:53
bat演算法面試題 瀏覽:132
因為加密演算法不同 瀏覽:659
會計員app怎麼下載 瀏覽:41
手機小視頻app怎麼刪掉 瀏覽:503
程序員陳一鳴與妹妹 瀏覽:31
個人所得稅app怎麼採集 瀏覽:530
博易主圖指標源碼公式 瀏覽:242
電腦里pdf怎麼打開 瀏覽:489