Chargement...

htaccess


Le fichier .htaccess est un fichier de configuration du serveur Apache qui permet de définir les règles dans un dossier ou sous-dossier. Il permet notamment de définir une interdiction d'accès à un dossier ou le protéger par un mot de passe, mais permet aussi de définir des règles de redirections, etc.

Changer le fichier index par défaut

Vous pouvez définir quel fichier sera appelé lors d'un accès à la racine de votre site:
DirectoryIndex index.php home.html

Personnaliser les messages d'erreurs

Il est possible de rediriger les utilisateurs sur la page que l'on souhaite en cas d'erreur serveur, exemple un fichier inacesssible, etc.
ErrorDocument 403 /403.php ErrorDocument 404 /404.php

Protéger un répertoire par un mot de passe

Pour protéger un dossier par un mot de passe, il est nécessaire de créer deux fichiers :

› .htaccess qui définit quel dossier il faut protéger
› .htpasswd qui contient les login et password

Syntaxe pour le fichier .htaccess
AuthName "Dossier Protégé" AuthUserFile "/chemin_absolue_du_dossier/.htpasswd" AuthType Basic Require valid-user
Syntaxe pour le fichier .htpasswd
login:mot_de_passe_crypté
Pour crypter un mot de passe vous pouvez utiliser la fonction crypte de PHP :
Crypter

Protéger ses images

Il est possbile d'empêcher l'accès à certains fichiers par un domaine. Exemple si un site vous vole vos images, vous pouvez lui interdire l'accès avec la syntaxe suivante:
<Files *.png> Order Deny, Allow Deny from .nomdomaine.com </Files>
Toutes les personnes (requêtes) provenant du domaine .nomdomaine.com ne pourront avoir accès aux images, dont l'extension est .png, comprises dans le répertoire et ses sous-répertoires.

Supprimer le PHPSESSID des URL

Google référence parfois les adresses de votre site avec en paramètre un PHPSESSID :

Exemple:
http://creersonsiteweb.net?PHPSESSID=hh40154z6e5f4ze6a0a0a0
ce qui ajoute un lien différent en plus dans son index, et donc divise la popularité d'une page ( la duplication de données n'est jamais bonne pour le référencement de votre site web ) .

Pour éviter ce problème vous pouvez ajouter cette ligne dans votre .htaccess
php_flag session.use_trans_sid off php_flag session.use_only_cookies on
Pour rediriger les adresses déjà impactées:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} PHPSESSID=.*$
RewriteRule .* %{REQUEST_URI}? [R=301,L]
</IfModule>

Supprimer le PHPSESSID des URL chez OVH

Pour supprimer ce problème vous pouvez ajouter la ligne suivante dans votre .htaccess
SetEnv SESSION_USE_TRANS_SID 0



UNE QUESTION SUR L'ARTICLE?


CSSW Apprendre à créer son site web CSSW