Redirection pour site en maintenance

WRInaute occasionnel
Bonjour,

J'ai péché ce code je ne sais plus où :

Code:
Options +FollowSymlinks
# Active la ré-écriture des urls 
RewriteEngine on 

# Teste la présence du fichier maintenance.html 
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f 

RewriteRule $ /maintenance.html [R=302,L]

Le principe est de rediriger tout le site vers la page maintenance.html si celle-ci existe à la base du site.

Seulement, je suis chez OVH, j'ai placé mon fichier maintenance.html sous www, mais visiblement le DOCUMENT_ROOT n'a pas l'air de pointer à la racine de mon site. Autrement si je vire la condition ça fonctionne.

Pouvez-vous me dire à quel endroit je dois placer le fichier ou alors me donner le code pour que la condition se fasse sur le fichier placé à la racine de mon site c 'est à dire : -http://www.monsite.fr/maintenance.html-, bien-sur sans que j'ai à mettre le nom de mon site mais une variable générique de préférence...

Merci de m'aider.
 
WRInaute occasionnel
Salut,

Essaie plutôt cela :

Code:
   RewriteEngine on
    RewriteCond %{REQUEST_URI} !/maintenance.html$
    RewriteRule $ /maintenance.html [R=302,L]
 
WRInaute occasionnel
mego a dit:
Salut,

Essaie plutôt cela :

Code:
   RewriteEngine on
    RewriteCond %{REQUEST_URI} !/maintenance.html$
    RewriteRule $ /maintenance.html [R=302,L]

Le problème avec ton code c'est que quand maintenance.html n'est pas présent, et c'est le cas quand je ne suis pas en maintenance, eh bien, j'ai une erreur 404 !!!

En fait, je voudrais la redirection que dans le cas où le fichier est présent.
 
WRInaute occasionnel
Je relance ce fil car j'ai un autre petit pb à vous soumettre.
Mon fichier maintenance.html fait appel à un style et divers images. Hors comme toutes les URLs sont redirigées vers maintenance.html, eh bien, je n'ai plus mes images ni mon style qui s'applique, ce qui me donne une page html un peu caca.
Quelle règle faut-il appliquer pour que toutes les URLs soient redirigées sauf mon "style/style.css" et "images/toutes les images".

Merci de me répondre.
 
WRInaute accro
pour ne pas bloquer style/style.css et images/toutes les images

Code:
RewriteCond %{REQUEST_URI} !^/style/style.css
RewriteCond %{REQUEST_URI} !^/images/.*
RewriteRule $ /maintenance.html [R=302,L]

pour moi le principe de mettre tout un site en maintenance se fait quand on a des problemes avec le serveur, pas pour des simples mises a jour de pages. de mon coté j'ai appris pour ne pas deranger les crawlers, a travailler mes sites en local (avec easyphp ou wamp) et une fois terminé -> upload.
C'est clair pour les visiteurs, les moteurs et ce qui marche sur ma machine marche toujours en ligne :D
 
WRInaute occasionnel
Merci de l'info. Je ne mets mon site en maintenance que quelques minutes, si je ne fais pas ça, les visiteurs tomberaient systématiquement sur des erreurs...
 
WRInaute accro
je comprend, c'est genant une page qui retourne des erreurs en php ou sql. tu peux supprimer ton fichier du -ftp et te servir du .htaccess pour controler les pages manquantes le temps de faire tes mises a jour.

Redirige sur la racine du site si la page n'existe pas :
Code:
ErrorDocument 404   http://www.site.ext/
 
WRInaute occasionnel
Ok. Mais sinon, là ça marche avec ce que tu m'a donné, ma page maintenance.html s'affiche beau joli avec les images et css...
 
WRInaute occasionnel
bonjour,

Peut-on rediriger un visiteur vers une uatre site web avec un htaccess avec « AuthName "Acces Restreint" ».

J'ai un site web qui me sert de test, je voudrais mettre en place un htaccess qui me permettrait d'entrer un login et un mot de passe afin que je puisse être le seul à accéder à mon site, les autres qui entreraient un mauvais login ou mot de passe seront redirigés vers mon autre site web (donc url différente de celle ou il a le htaccess), comment faire cela, voici mon htaccess :
AuthUserFile /home/mon-site/www/repertoire/.htpasswd
AuthName "Acces Restreint"
AuthType Basic
<Limit GET POST>
require valid-user
</Limit>
ErrorDocument 401 http://www.mon-site2.com/
ErrorDocument 403 http://www.mon-site2.com/
ErrorDocument 404 http://www.mon-site2.com/

La redirection vers mon-site2.com marche pas avec ce htaccess !

Merci pour votre aide.
 
WRInaute occasionnel
Pas de réponse :cry: est-ce possible de rediriger un visiteur vers une autre site web avec un htaccess avec « AuthName "Acces Restreint" » ?

Quelqu'un a-t-il une idée ?
 
WRInaute accro
Il etait tres bien ce post : question posée et résolue ! Pourquoi tu en ouvre pas un autre ? car ton probleme n'a rien a voir avec le sujet du topic...
 
Nouveau WRInaute
Bonjour, je crois que certains n'ont pas compris la réelle question que se posait l'auteur. Amené à me la poser, je viens de trouver la réponse toute bête pour qu'il n'y ait aucun dérangement que ça soit transparent et ce à TOUS MOMENTS. Que le bot se mange pas une erreur parce qu'il est là quand il faut pas et que ça pête pas de partout parce que y'a une différence entre la maison et le serveur.

LA solution ultime: faire un switch entre 2 copies ;) Mise en place de la MAJ en doublon, test et balance via htaccess sur la copie temporaire le temps de remettre ça dans les bons repertoires.
Ou encore jongler entre 2 versions sur le même principe, ce qui permet un retour en arrière rapide.

Reste le problème des bases de données, si on a la place, idem avec réplication avant modif. Sinon la fameuse page maintenance qu'au passage on a toujours pas vraiment eu ;)
 
WRInaute accro
leflo a dit:
Reste le problème des bases de données, si on a la place, idem avec réplication avant modif. Sinon la fameuse page maintenance qu'au passage on a toujours pas vraiment eu ;)

... on met souvent un site en maintenance justement parcequ'on travaille sur la BDD. Genre on l'a bosser en local et on la réinjecte en ligne (si j'ai 1 million d'enregistrement, meme avec un super serveur j'ai besoin de temps)...

Mettre un site en maintenance comme tu le proposes pour uploader des fichiers php ou html, ca n'a aucun sens ou alors tu bosses avec 5ko de bande passante et la je pourrais comprendre.
 
Discussions similaires
Haut