IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Redirection de toutes les pages pendant une maintenance ? [Fait]


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut Redirection de toutes les pages pendant une maintenance ?
    Bonjour tout le monde,
    J'espere que vous allez bien

    Je voulais savoir comment faut-il s'y prendre pour bloquer le site à tout le monde (sauf la page d'accueil) pendant 20 min ?
    Ces 20 minutes me serviront à uploader tout les nouveaux fichiers (refonte total de site) ainsi que de changer quelques petits truc dans la BDD.
    (Le site est dans un hebergement mutualisé).

    (J'ai bien pensé à faire une redirection PHP sur chaque page mais y'en a facile une bonne cinquantaine... ca risque d'être très long)
    Merci d'avance.

    Bonne soirée !

    ++
    ShinJava

    PS : je ne savais pas où poster ce message, j'ai pas trouvé de forum approprié et vu que c'est surtout sur le Forum PHP qu'on trouve ce genre de technique... voila, désolé d'avance

  2. #2
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Salut,

    une idée pourrait être, si ton hébergement le supporte, d'ajouter un fichier .htaccess avec comme directive
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    php_value auto_prepend_file un_script_php.php
    et dans cet un_script_php.php tu fais une redirection vers une page .html statique avec un beau message d'attente.
    Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure

  3. #3
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    Salut,
    Désolé pour la réponse tardif.
    J'ai essayé ta technique mais j'ai le message d'erreur suivant :


    Warning: Unknown(): open_basedir restriction in effect. File(/dl.php) is not within the allowed path(s): (/home/ShinJava/:/usr/lib/php:/usr/local/lib/php:/tmp) in Unknown on line 0

    Warning: Unknown(/dl.php): failed to open stream: Operation not permitted in Unknown on line 0

    Warning: Unknown(): open_basedir restriction in effect. File(/dl.php) is not within the allowed path(s): (/home/ShinJava/:/usr/lib/php:/usr/local/lib/php:/tmp) in Unknown on line 0

    Warning: Unknown(/dl.php): failed to open stream: Operation not permitted in Unknown on line 0

    Warning: (null)(): Failed opening '/dl.php' for inclusion (include_path='.:/usr/lib/php:/usr/local/lib/php') in Unknown on line 0

    En gros je peux pas le faire ?

    Merci d'avance

    ++
    ShinJava

  4. #4
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    As tu un header inclu dans chaque page ? ou bien un fichier commun (librairie quelconque etc..)

    Si oui tu cales un header dans ce fichier partagé et le tour est joué.
    Sinon ben une révision de ta conception ne fera pas de mal
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  5. #5
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    Hello,
    Merci pour ta réponse.

    J'ai effectivement un header...
    Mais voila la structure :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    ... (titre, link, script et meta)
    ...
    </head>
    <body>
    <?php
    include ($_SERVER["DOCUMENT_ROOT"]."/Header.php");
    ?>
    PHP ne considère pas comme de l'affichage tout ce qu'il y avant <body> ?

    ++
    ShinJava

  6. #6
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Si mais au dessus de ton code HTML tu mets un header('Location:maintenance.php'); pendant que tu fais ta mise à jour, ensuite tu vires la ligne et voilà
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  7. #7
    Membre averti Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Points : 357
    Points
    357
    Par défaut
    Ouais mais mon header est en dessous de body (et non au dessus de html...), j'ai fais ca pour avoir des meta différents...

    Mais je vois ce que tu veux dire, pour ma prochaine version y'aura une ligne specialement pour ca.
    Y'a pas moyen de faire autrement dans mon cas sinon ?

    Merci.

    ++
    ShinJava

  8. #8
    Membre averti Avatar de Hug0_76
    Profil pro
    Inscrit en
    Août 2006
    Messages
    292
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 292
    Points : 332
    Points
    332
    Par défaut
    Salut,

    si tu veux rediriger tes visiteurs en html tu peux utiliser le meta suivant :

    <meta http-equiv="Refresh" content="1; url=accueil.html">


    1 => nombre de secondes avant la redirection
    accueil.html => page de redirection


    Je ne sais pas si ca pourra t'aider mais en tout cas cela redirige !
    Si la connerie de certain fonctionnait au gazole il y aurait pénurie !!!!

    Lao Tzeu a dit : "Il faut trouver la voix"...Si tu ne l'as pas trouvé, je vais t'aider en te coupant la tête.

  9. #9
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut question de conception
    Quand tu travailles sur un projet, site ou autre, le plus important est la conception. Si tu l'avais prévu dès le départ, tu aurais pu mettre un fichier def.inc.php avec toutes les constantes prédéfinies nécessaires à ton projet. Avantage des constantes sur les variables: la sécurité!!! Une constante n'est pas modifiable dans l'url.

    tu place le def.inc.php
    et tu mets
    define("DEFAULTPATH", "chemin");
    ...

    dans tous tes fichiers tu places: include "def.inc.php";
    et ensuite si tu veux tous les rediriger tu as juste à remplacer la valeur de la constante dans le def.inc.php et ce quelque soit le nombre de fichiers qui appellent cette constante.

    Ta nouvelle constante pourrait très bien devenir
    define("DEFAULTPATH", "maintenance");

    Puis dès que tu as fini la maintenance, tu remets la valeur d'origine:
    define("DEFAULTPATH", "chemin");
    Business, Stratégie, Leadership
    Toujours à l'écoute du marché : Surtout en Suisse ! ;-)

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    657
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 657
    Points : 910
    Points
    910
    Par défaut
    Salut,

    Si ton hebergeur l'autorise, je pense que le plus simple (de loin ) est d'utiliser un .htaccess

    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Order Allow,Deny
     
    Deny from All
     
    <Files index.html>
    Allow from All
    </Files>
     
    ErrorDocument 403 /index.html
    regarde également le tuto sur l'url rewriting avec apache : http://web.developpez.com/tutoriel/apache/urlrewriting/
    (l'idée étant dans ton cas de réécrire toutes les URLs en /index.html)
    Toute la documentation Ruby on Rails : gotapi.com/rubyrails
    Mes articles :
    > HAML : langage de template pour Ruby on Rails

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redirection de toutes les pages non existantes
    Par Marc68 dans le forum Apache
    Réponses: 1
    Dernier message: 22/02/2013, 20h51
  2. Réponses: 7
    Dernier message: 27/04/2012, 15h29
  3. Réponses: 2
    Dernier message: 08/03/2011, 17h43
  4. Réponses: 2
    Dernier message: 12/09/2008, 11h20
  5. Redirection de toutes les pages d'erreurs
    Par Migraine dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/06/2007, 13h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo