Comment mettre en œuvre “Mode Maintenance”, déjà établie site web
J'ai construit un site web (PHP) avec plus de 60 pages. Je ne l'ai réalisé aujourd'hui (malheureusement) que je devrais avoir construit dans un "Mode Maintenance" pour permettre à un administrateur de désactiver temporairement le site et qu'il pointe vers une page Mode de Maintenance. Cela ne ferait que permettre à ceux qui connecté en tant qu'admin pour afficher le site web.
Les options que je vois sont:
-
Ajouter un nouveau fichier "include" en haut de chaque page PHP.
-
J'ai un include qui est utilisé pour afficher la barre de navigation sur
chaque page (navigation de la classe). Je pourrais écrire le Mode de Maintenance
le code de cette classe.
Ai-je d'autres options? La 1ère option ne semble pas être le plus efficace, et le 2ème semble juste comme la mauvaise programmation. Est-il un autre de meilleure façon d'inclure un nouveau fichier chaque fichier php?
Merci!
ps - le site n'est pas encore lancés
OriginalL'auteur justinl | 2009-09-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
.htaccess
pour rediriger vers une autre page alors que sur le Mode de Maintenance.Trois assortis d'exemples:
.htaccess “d'Entretien” Page de Redirection
Rediriger à la page de maintenance pendant la mise à niveau à l'aide .htaccess
Le mode de Maintenance pour apache
Qui semble une bonne alternative rapide. Je suis l'espoir de trouver d'autres méthodes qui peuvent être plus évolutive, de sorte que chaque fois que j'ai une nouvelle admin, je n'ai pas de mise à jour de la .fichier htaccess et entrer dans leur propriété intellectuelle. Peut-être que je suis un peu à l'avance de bien me? Pour l'année prochaine je n'aurai probablement pas un très grand nombre de nouveaux admin. Peut-être la mise en œuvre d'un simple, rapide .htaccess correctif pour l'instant jusqu'à ce que je vraiment besoin de mettre en œuvre la méthode robuste. Qu'avez-vous pensez? Est-il préférable de construire le "bon" chemin à droite maintenant? Ou tout simplement faire le chemin le plus facile jusqu'à ce que j'ai besoin pour le rendre plus complexe?
Cela nécessite de connaître les adresses IP de tous les admins ...
De toutes les options, je dirais que c'est la meilleure direction. Il vous donne plus de flexibilité et de contrôle sur tout le site.
En passant, si quelqu'un d'autre utilise cette méthode, vous aurez besoin d'ajouter une ligne dans le .fichier htaccess pour permettre tous les fichiers css externes. Pour permettre à tous les fichiers css, utilisez ceci: %{REQUEST_URI} !.css$
OriginalL'auteur Luis Melgratti
Je sais que c'est une vieille question, mais je suis d'ajouter ce pour les futurs chercheurs qui viennent à travers cette page par le biais de la recherche.
- Je utiliser une redirection PHP.
En haut de chaque page, ajouter les lignes suivantes:
Et dans votre config.php fichier il suffit de faire une variable comme
Lorsque vous souhaitez que votre site pour être en mode de maintenance, il suffit de changer le "0" à "1".
Ceci va rediriger tous les visiteurs de votre site vers une page de maintenance.
J'ai tapé ce code assez vite sans le tester, mais il devrait fonctionner.
N'oubliez pas de nettoyer tous les bytecode liées à config.php ma.ttias.être/how-to-clair-php-opcache
OriginalL'auteur Jesse Toxik
auto_prepend_file chaîne
Spécifie le nom d'un fichier qui est automatiquement analysé avant que le fichier principal. Le fichier est inclus comme si il a été appelé avec la fonction require (), donc include_path est utilisé.
La valeur none désactive l'auto-préfixant.
vous pouvez le régler dans les php.ini, ou dans apache (virtuel) de l'hôte ou de fichier .htaccess avec php_flag auto_prepend_file file.php
[ou php_admin_flag (?)]
modifier
exit;
quelque part à la fin pour arrêter le reste de votre code d'être analysée.oui. ne doit pas supposer de gens savent à propos de quitter juste parce qu'ils ont pris plus de 60 pages de php. :Je
haha oui merci. Il est facile de créer des lots de fichiers et de ne pas vraiment savoir ce que vous faites encore 😛
Grâce OIS pour le partage de la auto_prepend_file. Je ne connaissais pas et je suis convaincu qu'il sera bien utile plus tard. 🙂
OriginalL'auteur OIS
Plutôt que de spécifier les Adresses IP, vous pouvez aussi consulter l'encontre de HTTP_USER_AGENT dans une directive RewriteCond..
N'importe qui avec "MyCrazyString" marqué sur la fin de leur Navigateur de la chaîne de l'Agent Utilisateur peut avoir accès, tout le monde obtient le mode de maintenance de la page/du site.
Tant que haute sécurité n'est pas obligatoire, c'est l'idéal; rapide et facile à diffuser aux admins, totalement portable, et surtout, de ne pas se briser si vous vous reconnectez votre DSL lorsque le seul gars avec réelle l'accès au serveur est en train de dormir à l'autre bout du monde.
;o) Co
OriginalL'auteur Cor
La façon la plus simple serait de centraliser la logique concernant le site génération. De cette façon, vous pouvez activer le mode de maintenance et de rediriger tout les non admins à une page différente. Ce ne serait pas dur à faire, comme j'imagine que vous avez un peu de code qui continue à sauter partout, il suffit donc de prolonger la fonctionnalité de connexion à vérifier pour une variable globale (si vous n'avez pas de commune des variables globales à l'échelle de votre page, vous pourriez tout simplement .htaccess via setenv).
OriginalL'auteur Miha Hribar
Je pense, standard d'Apache expressions sont plus faciles à comprendre que les règles de réécriture.
Avant la maintenance, j'ai renommer le fichier /home/coolcmd/site_maintenance_off à /home/coolcmd/site_maintenance_on.
Extrait de Code pour /.htaccess:
OriginalL'auteur CoolCmd