Le fichier .htaccess est un fichier de configuration utilisé par le serveur web Apache pour contrôler les aspects de votre site web.
Ce fichier, placé à la racine de votre site ou dans des sous-répertoires, permet de modifier la configuration d’Apache sans avoir à accéder aux fichiers de configuration principaux du serveur.
Dans cet article, nous allons explorer en détail ce qu’est le fichier .htaccess, comment y accéder et comment l’utiliser pour optimiser et sécuriser votre site web.
Le fichier .htaccess (abréviation de “hypertext access“) est un fichier de configuration utilisé par les serveurs web Apache. Il permet de définir des directives spécifiques pour le répertoire dans lequel il est placé et pour tous les sous-répertoires.
Ce fichier peut être utilisé pour contrôler de nombreux aspects du comportement du serveur, y compris la redirection d’URL, la protection par mot de passe, le contrôle d’accès, et bien plus encore.
Pour accéder au fichier .htaccess, vous devez généralement avoir un accès FTP (File Transfer Protocol) ou un accès au panneau de contrôle de votre hébergement web, tel que cPanel (par exemple).
Accès via FTP :
Accès via cPanel :
a. Redirection d’URL : Les redirections d’URL sont souvent utilisées pour rediriger le trafic d’une ancienne URL vers une nouvelle. Voici un exemple de redirection 301 (permanente) dans un fichier .htaccess :
codeRedirect 301 /ancienne-page.html /nouvelle-page.html
b. Protection par mot de passe : Vous pouvez protéger des répertoires spécifiques par mot de passe en utilisant les directives suivantes :
AuthName "Zone protégée"
AuthUserFile /chemin/vers/.htpasswd
Require valid-user
c. Réécriture d’URL (mod_rewrite) : Le module mod_rewrite
permet de créer des URL conviviales pour le SEO. Voici un exemple de réécriture d’URL :
RewriteRule ^ancienne-page$ /nouvelle-page [R=301,L]
a. WordPress : Dans WordPress, le fichier .htaccess est souvent utilisé pour gérer les permaliens. Voici un exemple de fichier .htaccess standard pour WordPress :
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
b. Joomla : Pour Joomla, le fichier .htaccess est utilisé pour des fonctionnalités similaires, telles que la réécriture d’URL conviviales :
apacheCopier le code## No directory listings
IndexIgnore *
## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine On
## Begin - Joomla! core SEF Section.
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]
## End - Joomla! core SEF Section.
</IfModule>
c. Sites créés de toutes pièces : Pour les sites développés sans CMS, le fichier .htaccess peut être configuré selon les besoins spécifiques du projet. Par exemple, pour un site e-commerce personnalisé, vous pourriez utiliser .htaccess pour forcer l’utilisation de HTTPS :
apacheCopier le codeRewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
a. Sauvegarder avant de modifier : Avant de faire des modifications au fichier .htaccess, assurez-vous de sauvegarder la version actuelle. Une petite erreur de syntaxe peut rendre votre site inaccessible.
b. Utiliser des commentaires : Incluez des commentaires dans votre fichier .htaccess pour expliquer chaque section. Cela aide à comprendre et à maintenir le fichier à long terme.
apacheCopier le code# Redirection de l'ancienne page vers la nouvelle page
Redirect 301 /ancienne-page.html /nouvelle-page.html
c. Tester après chaque changement : Après chaque modification, testez immédiatement votre site pour vous assurer que tout fonctionne correctement. Si vous rencontrez des erreurs, vérifiez le fichier de log d’Apache pour diagnostiquer le problème.