Maison >développement back-end >tutoriel php >Comment définir 404, 403 et autres pages d'état http dans le framework thinkPHP5

Comment définir 404, 403 et autres pages d'état http dans le framework thinkPHP5

不言
不言original
2018-06-05 16:41:162696parcourir

Cet article présente principalement la méthode de définition des pages d'état 404, 403 et autres dans le framework thinkPHP5. Il analyse la configuration associée du framework thinkPHP5 définissant la page 404, la page d'affichage de la vue et les compétences opérationnelles associées aux appels du contrôleur sous la forme d'exemples. Amis qui en ont besoin Vous pouvez vous référer à ce qui suit

Cet article décrit comment définir les pages d'état 404, 403 et autres dans le framework thinkPHP5. Partagez-le avec tout le monde pour votre référence, les détails sont les suivants :

Pour ce faire, désactivez d'abord le mode débogage dans votre fichier de configuration (il doit être activé pendant la phase de développement) :

'app_debug' => false,

Configurez ensuite le chemin du modèle de 404 et des autres pages dans le fichier de configuration config.php (APP_PATH fait référence au chemin de l'application) :

'http_exception_template'  => [
    // 定义404错误的重定向页面地址
    404 => APP_PATH.'404.html',
    // 还可以定义其它的HTTP status
    401 => APP_PATH.'401.html',
    403 => APP_PATH.'404.html',
  ],

La page 404 se trouve dans le répertoire de l'application. La partie 404.html du code est la suivante :

<img src="__INDEX__/img/404.png" width="818" height="595" style="display: block;margin: 0 auto;">
<p class="" style="font-size: 36px;margin: 0 auto;text-align: center;color: #323232;">
  您查找的页面不存在,还有
  <span id="dd" style="color:darkorange;font-weight: bold;">6</span>
  秒,页面将自动跳转首页...
</p>
<!--倒计时-->
<script type="text/javascript">
function run(){
  var s = document.getElementById("dd");
  if(s.innerHTML == 0){
    window.location.href=&#39;/&#39;;
    return false;
  }
  s.innerHTML = s.innerHTML * 1 - 1;
}
window.setInterval("run();", 1000);
</script>

Contrôleur de test

if (Request::instance()->isAjax()) {
  $data = input();
  $info = [];
  $where = &#39;&#39;;
  switch ($data[&#39;msg&#39;]) {
  case &#39;验证码&#39;:
    $info = [
    &#39;y&#39; => &#39;输入正确&#39;,
    &#39;n&#39; => &#39;输入错误&#39;,
    ];
  $where = session::get(&#39;admin_login_session&#39;) == md5($data[&#39;param&#39;]);break;
 }
 if ($where) {
  echo &#39;{"info":"&#39; . $data[&#39;msg&#39;] . $info [&#39;y&#39;] . &#39;","status":"y"}&#39;;//注意ValidForm返回格式(json)
 } else {
  echo &#39;{"info":"&#39; . $data[&#39;msg&#39;] . $info [&#39;n&#39;] . &#39;","status":"n"}&#39;;//注意ValidForm返回格式(json)
 }
}else{
 throw new \think\exception\HttpException(403, &#39;~~~非法请求~~~&#39;);
}

L'effet 404 est le suivant :

Recommandations associées :

Un moyen simple d'implémenter la boîte de confirmation contextuelle avant la suppression de thinkPHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn