Astuces .htaccess

Le fichier .htaccess permet de mettre en place des configurations diverses sur votre serveur.

fichier htaccess pour le SEO

Le fichier .htaccess

Les redirections 301

Il existe plusieurs moyens de faire des redirections permanentes (301).

Redirect 301 /ancienne-url.html https://www.nomdedomaine.com/nouveau-page.html
RedirectPermanent /ancienne-url.html https://www.nomdedomaine.com/nouveau-page.html
...

Il existe d'autres moyens comme l'instruction "RedirectMatch 301" avec laquelle vous pouvez utiliser des expressions régulières.

Rediriger la version HTTP vers HTTPS

Afin d'éviter une possible dupliquation de votre site et fournir les bonnes URLs aux internautes, la mise en place d'une règle de redirection de la version HTTP vers la version HTTPS est indispensable.

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Redirection avec ou sans www

Là encore, pour se prémunir de duplication, il est important de mettre en place une règle de redirection de la version non utilisée vers la version canonique.

Redirection www vers sans www

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*) [NC]
RewriteRule ^(.*) https://%1/$1 [R=301,L]

Redirection de la version sans www vers www

RewriteEngine On
RewriteCond %{HTTP_HOST} ^monsite.com [NC]
RewriteRule (.*) https://www.monsite.com/$1 [R=301,L]

Déclarer des pages d'erreurs

Avec le fichier .htaccess, vous avez la possibilité de personnaliser vos pages d’erreur enfin de conserver tout internaute qui se serait perdu sur votre site.

ErrorDocument 404 /page-404.html
ErrorDocument 403 /page-403.html
...

Protéger vos dossiers

Pour éviter que des internautes voient la structure de votre site en essayant d’accéder aux dossiers, vous pouvez protéger vos répertoires avec l’instruction suivante :

Options -Indexes

Réécriture d'URLs

Il y a plusieurs moyens d’avoir des URLs propres. Voici une astuce simple pour supprimer l’extension des fichiers dans vos URLs :

Options +MultiViews

Ainsi la page https://mondomaine.fr/rubrique/ma-page.html sera accessible à l'URL https://mondomaine.fr/rubrique/ma-page/ sauf s'il existe un sous-répertoire "ma-page" dans le répertoire "rubrique".

Se protéger des spams

Sur WordPress, bien que vous utilisiez Akismet, vous pouvez quand même vous faire spammer. La solution est simple, il suffit de ne pas accepter de commentaire pour toute personne n’utilisant pas comme referrer le site.

RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} .wp-comments-post.php*
RewriteCond %{HTTP_REFERER} !.*votre-blog.com.* [OR]
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule (.*) ^https://%{REMOTE_ADDR}/$ [R=301,L]

Ajouter un slash à la fin des URLs

Il arrive que les URLs d'un site soient accessibles avec un "/", à la fin de l’URL, ou sans "/". Afin d'uniformiser le format des URLs, voici un code qui rajoute automatiquement un slash à la fin de vos URLs qui n’en possèdent pas.

RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

Il existe bien d'autres instruction, je vous invite à vous rendre sur le site apache.org pour les serveurs utilisant Apach.