A toi d'agencer ton fichier aprèsSalut,
Merci juste pas très pratique comme tu dis pour la maintenance comme cela bloque le CSS, JS sur notre site.
Follow along with the video below to see how to install our site as a web app on your home screen.
Note: This feature may not be available in some browsers.
A toi d'agencer ton fichier aprèsSalut,
Merci juste pas très pratique comme tu dis pour la maintenance comme cela bloque le CSS, JS sur notre site.
A toi d'agencer ton fichier après![]()
merci pour ce tutoBonjour à tous,
Je vous retrouve aujourd'hui pour vous expliquer ce qu'est un fichier .htaccess, je vais résumer ses fonctionnalités et comment l'utiliser .
Un .htaccess est un fichier qui sert à indiquer des commandes pour le serveur, c'est un fichier de configuration pour Apache.You must be registered for see images attach
Qu'est-ce qu'un htaccess ?
Le .htaccess sert à sécuriser une page par mot de passe , à autoriser une adresse IP à consulter une page, à modifier vos pages d'erreurs , etc.
Un .htaccess doit être placé dans un répertoire sur votre serveur FTP , et celui-ci agit sur ce répertoire ainsi que tous les sous-répertoires qu'il contient.
You must be registered for see images attach
Comment fonctionne un htaccess ?
Rien ne vous empêche de mettre d'autres htaccess sur d'autres répertoires par la suite.
Voici un schéma résumant ce que je viens d'expliquer :
Comme vous pouvez le constater, le .htaccess présent dans le répertoire www agit sur les répertoires js, php et html.You must be registered for see images attach
Le .htaccess présent dans js s’additionne au .htaccess présent dans le répertoire www. Mais si une instruction est écrite dans ce fichier, alors celle-ci ne s’exécute que dans le répertoire js.
Le .htaccess situé dans www possède l'instruction suivante
You must be registered for see images attach
Exemple d'utilisation basique
Code:DENY FROM ALL
Ce qui signifie que l'accès est interdit à tout le monde pour les répertoires www, js, php et html.
Mais le .htaccess situé dans le répertoire js possède l'instruction suivante
Code:ALLOW FROM ALL
Ce qui signifie que le répertoire js est accessible à tous .
L'instruction DENY FROM ALL est donc redéfinie par ALLOW FROM ALL , et c'est cette instruction qui s'applique au répertoire js.
Vous avez sans doute un répertoire avec des mots de passe , ou un répertoire où vous avez votre fichier de configuration MySQL , ces informations sont privées et si quelqu'un les avait entre les mains, votre site passerait un mauvais quart d'heure.
You must be registered for see images attach
Comment protéger un répertoire avec un htaccess ?
Nous allons donc utiliser plusieurs instructions pour sécuriser votre répertoire.
C'est l'instruction pour indiquer le chemin du fichier qui contient les mots de passe (.htpasswd, nous y viendrons plus tard).
- AuthUserFile /www/.htpasswd
Vous devez indiquer le chemin complet du fichier de mots de passe (.htpasswd).
Pour connaître le chemin complet du répertoire dans lequel vous allez placer votre fichier .htpasswd, il va falloir faire un realpath. (cc @Fabien)
Créé donc un nouveau fichier , nommé "realpath.php" et dans ce fichier, vous allez y placer ce code :
PHP:<?php echo realpath('realpath.php'); ?>
La fonction realpath retourne le chemin absolu ainsi trouvé. Le résultat ne contient aucun lien symbolique, /./ ou /../.
Envoyez ce fichier sur votre serveur avec votre logiciel FTP (FileZila ..).
Placez-le dans le dossier que vous voulez protéger (dans mon exemple, ce sera www).
Ouvrez votre navigateur et allez voir ce fichier PHP : site.fr/realpath.php.
Il vous donne le chemin absolu, par exemple : /home/userftptest/www/realpath.php.
Copiez ce chemin dans votre .htaccess, et remplacez le "realpath.php" par ".htpasswd", ce qui nous donne au final par exemple : /home/userftptest/www/.htpasswd.
Vous pouvez donc supprimer ce fichier, nous n'en avons plus besoin.
Cette instruction sert à définir le texte qui invitera la personne à entrer ses identifiants.
- AuthName
Dans cet exemple, l'instruction pour AuthName est la suivante :You must be registered for see images attach
Code:AuthName "Accès protégé REALITYGA"
AuthType Basic indique qu'il faut utiliser AuthUserFile pour vérifier les mots de passe qui sont saisis dans le fichier .htpasswd.
- AuthType Basic
Pour entrer des combinaisons dans votre fichier .htpasswd, vous devez utiliser la forme suivante :
Code:user:pass
Le mot de passe doit être crypté dans le fichier .htpasswd, je vais vous présenter un site qui cryptera vos identifiants de façon automatique .
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici.
Vous avez à saisir vos vrais identifiants , puis à recopié le résultat obtenu dans votre fichier .htpasswd. (ceux-ci ne sont pas sauvegardés sur le site, rassurez-vous)
Vous pouvez également crypter vos mots de passe avec la fonction crypt en PHP.
N'oubliez pas d'envoyer ce fichier sur votre serveur !
Voici le code final :
Code:AuthUserFile /home/userftptest/www/.htpasswd AuthName "Accès protégé REALITYGA" AuthType Basic Require valid-user
Vous avez la possibilité de nommé comme vous voulez le fichier .htpasswd, c'est juste que l'on appel communément ce fichier .htpasswd. Vous veillerez à changer le nom du fichier dans le .htaccess également.
Un bon mot de passe fait minimum 16 caractères et est composé de chiffres, de lettres majuscules, de lettres minuscules ainsi que des caractères spéciaux. Plusieurs générateurs de mots de passe sont disponible en ligne.
Certains serveurs n'acceptent pas le cryptage, comme celui de Free. Dans ce cas là, vous êtes obligés de laisser le mot de passe tel quel dans votre fichier .htpasswd.
Pour les utilisateurs des serveurs Free, l'instruction AuthUserFile doit être remplacée par PerlSetVar AuthFile.
C'est exactement le même principe qu'avec la protection d'un répertoire .
You must be registered for see images attach
Comment protéger un fichier avec un htaccess ?
![]()
Il suffit d'utiliser les balises <Files></Files>.
Voici un exemple d'utilisation :
Code:<Files test.php> AuthUserFile /home/userftptest/www/.htpasswd AuthName "Accès protégé REALITYGA" AuthType Basic Require valid-user </Files>
Les balises <Files></Files> permettent d'effectuer les instructions uniquement pour un seul fichier .
Cette balise n'accepte qu'un seul fichier , vous aurez donc le même nombre de balises que de fichiers : si vous mettez plusieurs fichiers dans la même balise, Apache retournera une erreur .
Pour Apache 1.3 et version supérieur, il est recommandé d'utiliser la balise <FilesMatch> au lieu de <Files>.
Vous pouvez ajouté des pages d'erreurs personnalisées grâce au .htaccess, en particulier grâce à l'instruction ErrorDocument .
You must be registered for see images attach
Comment personnaliser les erreurs avec un htaccess ?
Cette instruction sert à dire que si l'erreur XXX intervient, alors on dirige le visiteur vers la page YYY.
Voici le code :
Code:ErrorDocument 401 /errors/401.php ErrorDocument 403 /errors/403.php ErrorDocument 404 /errors/404.php ErrorDocument 500 /errors/500.php
404, 403, 404, 500 sont les erreurs que vos visiteurs peuvent rencontrer.
/errors/404.php etc sont les pages d'erreurs personnalisés , évidemment celles-ci doivent exister.
Voici une liste des codes d'erreurs les plus fréquents ainsi que ce qu'ils signifient :
Vous avez une liste complète à
- 400 : Bad Request : la syntaxe de la requête est mal formulée.
- 401 : Unhautorized : l'utilisateur n'a pas entré le bon mot de passe pour accéder au contenu.
- 403 : Forbidden : l'accès au contenu est interdit.
- 404 : Not Found : le document n'a pas été trouvé.
- 500 : Internal Server Error: le serveur a rencontré une erreur interne (erreur de script ou erreur passagère).
- 503 : Service Unvailable: le serveur ne peut pas répondre à cause d'une surcharge de trafic (trop de visiteurs).
Vous devez être inscrit pour voir les liens ! Inscrivez-vous ou connectez-vous ici..
Lorsque vous saisissez une URL dans votre navigateur , celle-ci vous redirige vers index.php ou index.html.
You must be registered for see images attach
Comment modifier les redirections vers l'index du site ?
Et bien, grâce au .htaccess, vous avez la possibilité de changer ceci. Plus précisément grâce à l'instruction DirectoryIndex .
Voici un exemple d'utilisation :
Code:DirectoryIndex index.php index.html /erreurs/erreur_403.php
DirectoryIndex va chercher si le fichier index.php existe, si oui on l'affiche et tout se passe bien.
Dans le cas contraire, on va chercher le fichier index.html, si il existe on l'affiche, dans le cas contraire on affiche la page d'erreur 403 qui signifie que vous n'avez pas accès au contenu ciblé.
DirectoryIndex est utile pour ne pas afficher tout le contenu du dossier au visiteur.
Ces 3 instructions reposent sur la notion de type MIME (Multipurpose Internet Mail Extensions).You must be registered for see images attach
Fonctionnalités avancées : AddType, ForceType et DefaultType
Un type MIME est un standard utilisé pour définir la nature d'un document .
Par exemple, pour un fichier image.jpg, le type MIME est :
Code:Content-type: image/jpeg
Le fichier "image.jpg" est donc une image, de type JPEG .
L'instruction AddType a pour fonction d'indiquer au navigateur comment interpréter un fichier dont l'extension est inconnue .
Par exemple, un fichier ayant l'extension .dwg, le navigateur ne sait pas a quoi correspond l'extension .dwg. On peut donc écrire dans le fichier .htaccess :
Code:AddType application/acad dwg
Le navigateur ouvrira donc le logiciel en association avec l'extension .dwg, en l'occurrence Autocad, si celui ci est installé sur l'ordinateur du visiteur. Dans le cas contraire le fichier sera ignoré.
Cette instruction peut également changer une action prédéfinie.
Par exemple :
Code:AddType image/jpeg .html
Le navigateur interprétera le fichier html comme si c'était une image de type jpeg .
ForceType est similaire à l'instruction AddType sauf qu'elle agit sur tous les types de fichiers où se trouve le .htaccess.
Voici un exemple d'utilisation :
Code:ForceType image/jpeg
Tous les fichiers présents dans le répertoire www (si le .htaccess est dans celui-ci) seront considérés comme des images de type JPEG, peu importe leur extension.
DefaultType est tout simplement l'instruction destinée à définir l'action qui sera effectuée par le navigateur lorsque il rencontrera un fichier inconnu .
Dans cet exemple, tous les fichiers inconnus seront définis comme des fichiers HTML.
Code:DefaultType text/html
Avec tout ce que vous venez d'apprendre, vous avez de quoi faire un système de maintenance dans votre fichier .htaccess !You must be registered for see images attach
Comment faire un système de maintenance ?
C'est très simple, une maintenance permet au webmaster de faire des modifications, et les autres visiteurs sont redirigés sur une page, mais ceux-ci n'ont pas accès au site durant la maintenance. Vous voyez où je veux en venir ?
On définie une erreur 403 , vu que le visiteur n'a pas la permission, à l'aide de l'instruction ErrorDocument.
Code:ErrorDocument 403 /maintenance.html
On interdit l'accès pour tous les visiteurs, grâce à l'instruction DENY FROM ALL vue précédemment.
Code:DENY FROM ALL
Mais il faut autorisé le webmaster à faire les modifications, donc on va autorisé son adresse IP avec l'instruction ALLOW FROM ....
Code:ALLOW FROM xx.xxx.xxx.xxx
Et pour finir, on affiche la page de maintenance (maintenance.html) pour tous les visiteurs à l'aide des balises <Files></Files> ainsi que l'instruction ALLOW FROM ALL !
Code:<Files maintenance.html> ALLOW FROM ALL </Files>
N'oubliez pas d'envoyer ce fichier à la racine de votre site, et le tour est joué.
Evidemment cette méthode est longue et ennuyeuse, il faut toujours mettre à jour un fichier sur votre FTP alors que de paramétrer une page depuis votre site serait beaucoup plus simple, mais ce n'est pas l'objectif pour aujourd'hui.
Ce tutoriel touche à sa fin.You must be registered for see images attach
J'espère qu'il vous aura été utile, si vous avez des questions n'hésitez pas à répondre sur ce sujet.
Quelques informations sont tirées de Google