2017-01-02 2 views
0

Actuellement, j'utilise ce code dans mon fichier .htaccess pour déclencher la page de maintenance de mon site.Exclusion de la page de maintenance dans un répertoire spécifique

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f 
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f 
RewriteCond %{SCRIPT_FILENAME} !maintenance.html 
RewriteRule ^.*$ /maintenance.html [R=503,L] 
ErrorDocument 503 /maintenance.html 
Header Set Cache-Control "max-age=0, no-store" 
</IfModule> 

Comment puis-je faire pour que je puisse encore accéder à un répertoire, je travaillerai sur et pas seulement mon adresse IP dans le cas où mon ami souhaite y accéder.

Je l'ai fait quelques recherches, mais rien trouvé pour l'instant

Vive

Tom

+0

Ok, cela ressemble à un bon plan. Fonce! (_ou avez-vous des questions ici? _) – arkascha

+0

@arkascha Oui je l'ai fait, si vous avez lu j'ai dit que je voulais faire en sorte que je puisse y accéder pendant que la page de maintenance est en hausse –

+0

Vous avez écrit cela. Mais ce n'est 1. pas une question mais une déclaration et 2. cela ne convient pas comme une question ici. Pour cela, vous devez montrer votre propre tentative pour résoudre la tâche, pas seulement pour demander: «fais ça pour moi». Vous voyez que nous ne sommes pas un service de codage gratuit. Vous devez être capable d'utiliser vos outils vous-même. Seulement si vous êtes coincé avec votre propre tentative, alors il est temps de poser une question spécifique ici. Si vous n'êtes pas capable ou simplement paresseux de commencer vous-même, alors je vous suggère d'embaucher un programmeur payé pour faire votre travail pour vous. – arkascha

Répondre

0

Je dirais que vous pouvez simplement mettre en œuvre des règles d'exception avant votre manipulation du mode de maintenance :

<IfModule mod_rewrite.c> 
RewriteEngine On 

# immediately end all rewriting for specific IPV4 addresses 
RewriteCond %{REMOTE_ADDR} ^123\.123\.123\.123$ [OR] 
RewriteCond %{REMOTE_ADDR} ^321\.321\.321\.321$ 
RewriteRule^- [END] 

# for everyone else: check for maintenance mode 
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f 
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f 
RewriteCond %{SCRIPT_FILENAME} !maintenance.html 
RewriteRule ^.*$ /maintenance.html [R=503,L] 
ErrorDocument 503 /maintenance.html 
Header Set Cache-Control "max-age=0, no-store" 
</IfModule> 

Vous pouvez également ajouter les conditions annulées en tant que conditions supplémentaires à la logique de réécriture en mode maintenance. Mais je pense que ce qui précède est plus facile à lire et à maintenir.

+0

Malheureusement pour une raison quelconque, il va à l'erreur interne 500 lors de l'utilisation du code que vous m'avez donné –

+0

Et quel est le message d'erreur exact que vous obtenez dans votre fichier journal des erreurs de serveurs http? – arkascha

+0

Après recherche, il n'y a pas d'erreurs récentes dans le fichier journal –