18041 sujets
Questions générales et questions de débutants
Bonjour,
Tout dépend de la gestion du site en question et de la technologie utilisée.
Plusieurs moyen de procéder : test de l'existence d'un fichier destiné à indiquer que le site est temporairement indisponible, fichier de paramètres avec test de la valeur d'un paramètre particulier ...
<edit>Le principe reste à chaque fois le même. </edit>
Modifié par yodaswii (30 Apr 2008 - 17:27)
Tout dépend de la gestion du site en question et de la technologie utilisée.
Plusieurs moyen de procéder : test de l'existence d'un fichier destiné à indiquer que le site est temporairement indisponible, fichier de paramètres avec test de la valeur d'un paramètre particulier ...
<edit>Le principe reste à chaque fois le même. </edit>
Modifié par yodaswii (30 Apr 2008 - 17:27)
a écrit :
Je n'avais vraiment pas le courage de mettre un test en php au debut de chacune de mes pages ...
Il ne s'agissait pas de cela ... avec une utilisation réfléchie d'include et/ou require un seul test suffit.
<edit>La solution de Florent V. (passer par le htaccess) est une (très bonne) solution pour s'affranchir d'effectuer ce test depuis le code php. </edit>
Modifié par yodaswii (01 May 2008 - 15:08)
Il fut un temps, j'avais trouvé cette solution aussi :
.htaccess dans le dossier racine
.htaccess dans le dossier temp :
et dans /temp/maintenance.php :
le .htaccess dans le dossier temp est indispensable sinon on obtient une erreur 403 (ou 500 ou 501 parfois, ça dépend des config) mais en tout cas ça interdirait aussi maintenance.php.
En début de code php, il est important d'indiquer explicitement un code de retour HTTP (sinon on reçoit un 403 ce qui n'est pas forcément voulu). Ici j'envoie le code 503 que je trouve meilleur que le code 200 comme s'il n'y avait rien de spécial. Question de goût...
.htaccess dans le dossier racine
ErrorDocument 403 /temp/maintenance.php
deny from all
order deny, allow
.htaccess dans le dossier temp :
allow from all
order allow, deny
et dans /temp/maintenance.php :
<?php
header("HTTP/1.x 503 Temporary undisponible");
header("Status:503 Temporary undisponible");
...
le .htaccess dans le dossier temp est indispensable sinon on obtient une erreur 403 (ou 500 ou 501 parfois, ça dépend des config) mais en tout cas ça interdirait aussi maintenance.php.
En début de code php, il est important d'indiquer explicitement un code de retour HTTP (sinon on reçoit un 403 ce qui n'est pas forcément voulu). Ici j'envoie le code 503 que je trouve meilleur que le code 200 comme s'il n'y avait rien de spécial. Question de goût...
Bonjour lemister,
Pour commencer, sais-tu si ton site est hébergé sur un serveur qui tourne avec Apache? Si oui, tu peux utiliser un fichier nommé ".htaccess" à la racine de ton site pour donner quelques instructions au serveur. Je te laisse faire une recherche sur cette question si ça n'est pas clair pour toi (Apache, .htaccess, etc.).
Maintenant, pour l'instruction à utiliser: j'en suggère une plus haut, il me semble qu'elle marche bien. Elle devrait rediriger toutes les requêtes vers une adresse précise. Une correction toutefois: il me semble qu'il faut rediriger vers une URL complète, donc ce serait plutôt:
Pour en savoir plus, tu peux faire une recherche sur la directive RedirectMatch d'Apache.
Pour commencer, sais-tu si ton site est hébergé sur un serveur qui tourne avec Apache? Si oui, tu peux utiliser un fichier nommé ".htaccess" à la racine de ton site pour donner quelques instructions au serveur. Je te laisse faire une recherche sur cette question si ça n'est pas clair pour toi (Apache, .htaccess, etc.).
Maintenant, pour l'instruction à utiliser: j'en suggère une plus haut, il me semble qu'elle marche bien. Elle devrait rediriger toutes les requêtes vers une adresse précise. Une correction toutefois: il me semble qu'il faut rediriger vers une URL complète, donc ce serait plutôt:
RedirectMatch temp ^.* http://www.monnomdedomaine.com/maintenance.html
Pour en savoir plus, tu peux faire une recherche sur la directive RedirectMatch d'Apache.
Florent V. a écrit :
Bonjour lemister,
Pour commencer, sais-tu si ton site est hébergé sur un serveur qui tourne avec Apache? Si oui, tu peux utiliser un fichier nommé ".htaccess" à la racine de ton site pour donner quelques instructions au serveur. Je te laisse faire une recherche sur cette question si ça n'est pas clair pour toi (Apache, .htaccess, etc.).
Maintenant, pour l'instruction à utiliser: j'en suggère une plus haut, il me semble qu'elle marche bien. Elle devrait rediriger toutes les requêtes vers une adresse précise. Une correction toutefois: il me semble qu'il faut rediriger vers une URL complète, donc ce serait plutôt:
RedirectMatch temp ^.* http://www.monnomdedomaine.com/maintenance.html
Pour en savoir plus, tu peux faire une recherche sur la directive RedirectMatch d'Apache.
merci beaucoup d'avoir répondu.
Pour commencer je suis hébergé chez 1&1 , peut être que vous pouvez me dire si ils utilisent les serveurs dit "Apache".
Et si je créé une page " * http://www.monnomdedomaine.com/maintenance.html " à partir d'où et comment j'active la maintenance ?
lemister a écrit :
Pour commencer je suis hébergé chez 1&1 , peut être que vous pouvez me dire si ils utilisent les serveurs dit "Apache".
Pour leurs hébergements mutualisés sous Linux (la plupart des hébergements grand public qu'ils proposent), oui.
lemister a écrit :
à partir d'où et comment j'active la maintenance ?
Via le fichier .htaccess dont on a parlé à plusieurs reprises. Si tu places ce fichier dans le dossier qui correspond à la racine de ton domaine, le serveur (Apache) va le lire avant de répondre aux requêtes (une requête = un visiteur qui demande l'affichage d'une page ou le téléchargement d'un fichier telle qu'une image). Si ce fichier contient des instructions pour rediriger toutes les requêtes vers une page précise, qui informe que le site est en maintenance, alors c'est bon.
QuentinC a écrit :
Il fut un temps, j'avais trouvé cette solution aussi :
.htaccess dans le dossier racine
ErrorDocument 403 /temp/maintenance.php deny from all order deny, allow
.htaccess dans le dossier temp :
allow from all order allow, deny
et dans /temp/maintenance.php :
<?php header("HTTP/1.x 503 Temporary undisponible"); header("Status:503 Temporary undisponible"); ...
il faut que je procède comme ca?
alors j'ai créé le dossier .htaccess sur mon espace web et jai créé la page http://www.monnomdedomaine.com/maintenance.html.
Que dois-je faire maintenant ?
Que dois-je faire maintenant ?
QuentinC a écrit :
Pour ma solution, il est absolument indispensable que la page de maintenance soit dans un sous-dossier et pas à la racine. Sinon, ce que je propose est inappliquable (il faudrait à la fois autoriser et interdire le même dossier, ce qui est contradictoire et impossible).
euh..... donc que dois-je faire ? je suis un peu ( beaucoup ) perdu !