Renvoi d'erreur

WRInaute passionné
Bonjour,
Je suis hébergé chez free.fr, mon site tourne en php + mysql et le serveur est souvant saturé pour les connexions à la base de donnée.
je teste donc la connexion et en cas de pb, je renvoie sur une page html pure qui explique le problème a l'internaute.

le soucil est que google est en train d'indexer ces pages comme remplacants les pages non accessible. Que code faut-t-il renvoyer aux moteurs pour leur dire que c'est un pb de seveur et qu'il ne faut pas en tenir compte ...

mon code pour la connexion :
<?php
if (($link = @mysql_connect("host","login","pass"))== FALSE)
{

// code a rajouter ici ?????

header ("location: pb_connexion.html");
exit;
}
mysql_select_db("base",$link) or die ( "Impossible d'ouvrir la base: ".mysql_error() );
?>

Merci
 
WRInaute discret
Je ne vois pas de solution à ton problème mais je me permettrais de te conseiller de te trouver un hébergeur profesionnel.... comme Sivit par exemple.
L'hébergeur pro est je pense la meilleure solution pour toi étant donné que tu commences à avoir pas mal de monde.

@+
GP
 
WRInaute passionné
Sivit ? pas sur...mais je n'en dirais pas plus.
en fait je cherche le code à envoyer dans le header. genre 404 not found ...
 
WRInaute passionné
Merci !
quelle est la syntaxe exacte qu'il faut que j'utilise ?
un truc du genre :

header("http/ 1.1 503");
header ("location: pb_connexion.html");

ou bien ?
 
WRInaute passionné
C'est bien , tu va avoir le contenu de ton texte de problème connexion indexé dans les moteurs de recherche en lieu et place de to texte lié à la page.
Je doute que le visiteurs aille voir la page en qustion en ayant vu sur google qu'il y a un problème quelconque.
Si tu as des problème de connexion c'est que tu commence a entrer dans les limites que ton herbergeur gratuit peut t'offrir pour le prix.
Mieux vaut corriger le problème à la source, que de voir le site fermé par l'hebergeur sans pouvoir mettre la moindre page de redirection. (expérience vecue)
Soit tu changes de script Mysql, soit tu changes d'hebergeur en prenna t le temps de faire un travail propre. 8)
 
WRInaute discret
jeroen a dit:
Merci !
quelle est la syntaxe exacte qu'il faut que j'utilise ?
un truc du genre :

header("http/ 1.1 503");
header ("location: pb_connexion.html");

ou bien ?

Je ne suis vraiment pas sûr de moi, mais à priori, si tu renvoies un header, il ne faut pas renvoyer de location:... derriere. Un exit serait pas plus mal.
Essaie de regarder ton code, il peut, peut etre, etre amélioré. Essaie de mettre une partie de ta base en 'brut' dans un fichier, il y a toujours des données qui ne changent quasiment pas, dans une base...

Sinon, il me semble qu'avec un code 503, google repasse tester le site et la page un autre jour.

Voilà, A+, Nico.
 
WRInaute discret
Je reviens....
Dis donc, à 5h45, ton site est down. Ce ne serait pas ton hébergeur qui te mettrait à la porte, des fois ???
Ca m'étonnerait qu'il y ait un nombre trop important de connexions à 5h45...

Quant au code :

if ( ! $link = @mysql_connect("host","login","pass")){
// header
}

mais fais bien attention à ne pas faire de fautes dans le mysql_connect, sinon ton script ne s'executera jamais ;))


A+.
 
WRInaute passionné
jeroen a dit:
Bonjour,
Je suis hébergé chez free.fr, mon site tourne en php + mysql et le serveur est souvant saturé pour les connexions à la base de donnée.
je teste donc la connexion et en cas de pb, je renvoie sur une page html pure qui explique le problème a l'internaute.

Et si tu essayais de gérer un cache (un peu à la manière de SPIP) qui permettrait de naviguer sur le site même si la connexion SQL pose pb.
C'est sur ça complique légérement les dev, et il te faut assez de place chez ton hébergeur pour sauvegarder le cache. C'est peur-être uune idée à creuser.
--
Philippe
 
WRInaute passionné
En fait je pense que c'est un pb général free.pages-perso, pas de risque de me faire virer.
j'ai modifié le code pour :

<?php
if (!$link = @mysql_connect("localhost","","")) // en local
{
header ("HTTP/1.1 503");
exit;
}
?>

et je recois une page blanche avec le code source :


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=windows-1252" http-equiv=Content-Type></HEAD>
<BODY></BODY></HTML>

Questions :
Comment vérifier que mon code est bon et que le navigateur recoit bien mon header 503 ?
Qu'est ce que ce code, d'ou vient-il ?

Merci !
 
WRInaute passionné
Pour l'histoire de cache, c'est tres difficile vu le nombre de pages de la base (au moins 800) ainsi que toutes les fonctions de recherche avec critères qui seraient désactivées ....

Mais je pourrais effectivement mettre en cache au moins la page d'accueil
 
Discussions similaires
Haut