Contourner les erreurs de connexion à votre base de données WordPress0
Depuis la version 2.3.2 de WordPress il est possible de personnaliser le message d’erreur de connexion à la base de données.
Il suffit pour cela de créer un fichierdb-error.php dans le dossier /wp-content/
Un message personnalisé et aux couleurs de votre site ce n’est pas mal mais on peut aller plus loin.
En effet ce message apparait généralement quand le nombre de requêtes simultanées à votre base de données est trop important. Autrement dit quelques instants plus tard les mêmes requêtes pourront être lancées avec succès et la page sera affichée correctement.

Concrètement on met quoi dans le fichier db-error.php ?
<php $page_cible = $_SERVER['REQUEST_URI']; ?> <xml version="1.0" encoding="UTF-8"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta name="robots" content="noindex,follow" /> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <meta http-equiv="content-language" content="fr-FR" /> <meta http-equiv="refresh" content="8; url=http://www.votre-site.com<php echo $page_cible;?>"> <title>Nombre trop important d'utilisateurs connectés - Merci de patienter</title> </head> <body> <h1>Trop d'utilisateurs sont actuellement connectés</h1> <p> Vous allez être redirigé(e) vers la page demandée, merci de patienter quelques instants.</p> <p> Si la redirection automatique ne fonctionne pas <a href="http://www.votre-domaine.com<php echo $page_cible; ?>">cliquez ici</a> </body> </html>
Explications
On commence par récupérer l’adresse de la page demandée
<?php $page_cible = $_SERVER['REQUEST_URI']; ?>
Nous n’avons pas besoin de récupérer le $_SERVER['HTTP_HOST'] puisqu’on reste sur le même domaine. WordPress ayant de plus tendance à insérer des Redirect dans ses URI inutile de prendre des risques supplémentaires.
On constitue ensuite l’entête HTML de la page
<xml version="1.0" encoding="UTF-8"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head profile="http://gmpg.org/xfn/11"> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <meta name="robots" content="noindex,follow" /> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" /> <meta http-equiv="content-language" content="fr-FR" /> <meta http-equiv="refresh" content="8; url=http://www.votre-site.com<?php echo $page_cible;?>"> <title>Nombre trop important d'utilisateurs connectés - Merci de patienter</title> </head>
La balise
<meta name="robots" content="noindex,follow"/>
évitera une indexation de la page si l’utilisateur est en fait un robot de moteur de recherche.
La balise
<meta http-equiv="refresh" content="8; url='http://www.votre-site.com<?php echo $page_cible;?>'>
indique la durée en secondes au bout de laquelle la page cible sera chargée (pensez bien à remplacer votre-site.com par l’adresse de votre site).
Il ne vous reste plus qu’à rajouter un peu de CSS dans votre page, et pourquoi pas quelques encarts publicitaires
Notez cet article







![[Freemobile] Avec Free Mobile ma facture est divisée par … 1](http://pix-geeks.com/wp-content/uploads/2012/01/free-mobile3-300x150.jpg)
![[Freemobile] Comparatif entre Free Mobile et la concurrence](http://pix-geeks.com/wp-content/uploads/2012/01/concurrence-freemobile-300x150.jpg)

![[Infographie] Les 20 évènements web marquants de 2011](http://pix-geeks.com/wp-content/uploads/2012/02/20evenementsweb2011-580x410-300x150.jpg)

