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

不言
Libérer: 2023-03-29 20:48:01
original
2700 Les gens l'ont consulté

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,
Copier après la connexion

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',
  ],
Copier après la connexion

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>
Copier après la connexion

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;);
}
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal