国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > ThinkPHP > 正文

自定義404頁面的響應和設置

2024-09-09 15:19:55
字體:
來源:轉載
供稿:網友

在我們寫任何的網站的時候,都會涉及到友好的404頁面的顯示,今天我就遇到這樣的問題,對于一個對這些了解不是很多的我,要獨立解決問題.

我用的是PHP的thinkphp框架,當時不知道為什么我沒有在網上搜索“thinkphp中404頁面顯示”等類似這樣的關鍵字,而是輸入了類似“wampserver設置404頁面顯示”這樣的關鍵字,在晚上找到了很多的內容,解決方法都是修改工程目錄下的.htaccess文件,對這個文件我了解的不多,甚至說不知道它是干什么的,該文件的功能或許是這樣的:該文件可以叫分布式配置文件,主要是配置文件,提供了針對目錄改變配置的方法,即,在一個特定的文檔目錄中放置一個包含一個或多個指令的文件, 以作用于此目錄及其所有子目錄,作為用戶,所能使用的命令受到限制,管理員可以通過Apache的AllowOverride指令來設置,這樣的理解我還能接受,這樣的理解是從一篇日志上看到的,對其更詳細的介紹請點擊博文末尾的鏈接.

對404頁面的問題解決的方法就是在.htaccess添加代碼:

ErrorDocument 404 /errors/error.html  error.htmnl就是對404處理的頁面

運行項目,發現返回404錯誤的時候,沒有顯示出error.html文件內容,難道沒有執行嗎?下面再用一下的語句測試一下:

ErrorDocument 404 “404 file not found”  引號里的內容就是對404處理的顯示結果,當我們執行項目的時候發現會顯示出“404 file not found”這樣的字樣,說明我們這幾句話是被調用了的,然后陷入了疑惑的狀態,難道是自己的其他配置有問題,最后在網上繼續尋找問題的答案,問題也沒有解決,這樣的策略那就不能考慮了(ps:據說是thinkpnp自身的原因,解決方案就是修改/ThinkPHP/Tpl/ThinkException.tpl.php

在html源碼頭部追加<?php header('HTTP/1.1 404 Not Found'); ?>),這個我還沒有測試,所以這個方法大家可以嘗試一下。

下面說下一種解決方法:

就是在Action中創建一個ErrorAction.class.php模塊,在里面寫過_Empty()方法,具體代碼如下:

  1. <?php 
  2.     class EmptyAction extends Action { 
  3.      public function _empty(){ 
  4.             header("HTTP/1.0 404 Not Found");//這個是必須添加的,這個就是返回404錯誤 
  5.             $this->display('Error:error');//error是存放在Error文件夾中的error.html(404頁面), 
  6.         } 
  7.     } 
  8. ?> 

有這個后僅僅只能解決所謂的一級域名的錯誤問題,要是解決二級域名等問題,需要解決的方法就是在CallAction.class.php和JasonAction.class.php以及CallAction等所有能出現在url中的模塊里添加如下代碼:

  1. public function _empty(){ 
  2.             header("HTTP/1.0 404 Not Found");//這個是必須添加的,這個就是返回404錯誤 
  3.             $this->display('Error:error');//error是存放在Error文件夾中的error.html(404頁面), 

方可實現當輸入錯誤的url時,顯示404頁面.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 邵东县| 平果县| 南溪县| 乌兰浩特市| 沅陵县| 五莲县| 屏南县| 临漳县| 稻城县| 南汇区| 武义县| 朝阳县| 玛纳斯县| 华坪县| 温宿县| 扎鲁特旗| 漳浦县| 固阳县| 吴旗县| 广宁县| 乌恰县| 高淳县| 东至县| 饶阳县| 洪雅县| 台中县| 永嘉县| 汤阴县| 稻城县| 武冈市| 潢川县| 武汉市| 监利县| 铁力市| 阿拉善左旗| 武隆县| 集安市| 沈阳市| 叙永县| 佛学| 观塘区|