Blog

Le fichier htaccess de Joomla, la sécurité de votre site mais pas que ...

Qu'est ce que le fichier .htaccess ?

Dans cet article nous allons nous intéresser au fichier .htaccess. Ce type de fichier sert à indiquer des commandes aux serveurs HTTP Apache comme nous l'indique la page wikipedia consacrée aux fichiers htaccess.

Emplacement d'un fichier .htaccess

L'emplacement de ce type de fichier est particulier. Le fichier est installé dans un répertoire de données et agit sur ce répertoire et sur tous les sous-répertoires que ce dernier peut contenir. On peut placer d'autres fichiers .htaccess dans les sous répertoires. Quand le fichier .htaccess est placé dans un répertoire, il est détecté et exécuté par le serveur Apache.
Les sites Joomla sont protégés par un fichier .htaccess placé à la racine du site mais les répertoires contenant les templates en contiennent un aussi.

 

A quoi sert un fichier .htaccess ?

Les fichiers .htacces sont utilisés pour :
- Configurer les droits d'accès
- Configurer des redirections d'URL et éviter les erreurs 404
- Ecrire des messages d'erreurs personnalisés
- Réécrire les URL pour les simplifier
- Protéger le contenu d'un répeertoire par mot de passe ...

Créer, utiliser, mettre en ligne le .htaccess

.htaccess est le nom du fichier dans son intégralité, il n'a pas d'extension. On peut créer le fichier à partir de n'importe quel éditeur de texte. On crée alors un fichier htaccess.txt. On saisit le code dans le fichier. Puis on télécharge le fichier sur le serveur dans un répertoire. On utilise pour cela le logiciel Filezilla. Une fois le fichier téléchargé par FTP, on le renomme en .htaccess.

Concernant le fichier .htaccess installé à la racine de joomla :

A la racine des fichiers Joomla se trouve déjà un fichier htaccess.txt. Il faut tout simplement renommer le fichier directement en .htaccess, dans le clientFTP. L'opération est simple à effectuer : dans Filezilla, il faut se connecter au serveur du site, puis à la racine du site Joomla, cliquer droit sur le fichier htaccess.txt et le renomme en .htaccess. Le chmod de ce fichier est 444.

Créer une redirection 301

La redirection 301 est une redirection permanente. Son principe est simple la redirection 301 redirige l'internaute vers une nouvelle URL. Par exemple on souhaite que, lorsque l'internaute saisisse dans la barre d'adresse de Google www.monsite.com qu'il aboutisse sur www.monsite.net. Les redirections 301, la plus part du temps visent à changer le nom de domaine d'un site, orienter une page vers une autre page ou gérer les différentes syntaxes d'une URL.

Avec ce type de redirection, l'utilisateur n'aboutit pas sur une page 404, le site conserve son positionnement dans Google.

Quelques redirections que l'on peut mettre en place :

1. Rediriger un nom de domaine vers un autre nom de domaine

www.monanciensiteweb.fr vers www.nouveausiteweb.fr
Solution dans le fichier .htaccess de www.monanciensiteweb.fr :

RewriteEngine on
RewriteRule (.*) http://wwwnouveausiteweb.fr/$1 [R=301,L]

2. Rediriger les anciennes pages vers les nouvelles pages

www.monsiteweb.fr/ancienne-url vers www.monsiteweb.fr/nouvelle-url 
Solution dans le fichier .htaccess :

RewriteCond %{HTTP_HOST} ^www.monsiteweb.fr/ancienne-url
RewriteRule ^(.*) http://www.monsiteweb.fr/nouvelle-url [QSA,L,R=301]

3. Rediriger le contenu d'un ancien dossier vers le nouveau dossier

www.monsiteweb.fr/ancien-dossier (et toutes les pages qu'il contient) vers www.monsiteweb.fr/nouvelle-url
Solution dans le fichier .htaccess :

RedirectMatch 301 ^/ancien-dossier.* http://www.monsite.com/nouvelle-url

4. Rediriger le site sans www. vers le site avec www :

monsiteweb.fr vers www.monsiteweb.fr

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

5. Rediriger les pages index.html , index.php.... vers la racine de site 

RewriteEngine On 
RewriteCond %{THE_REQUEST} ^(GET|POST|HEAD)\ (/.*)?/index.(htm|html|php|asp|shtml)
RewriteRule ^(.*)index.(htm|html|php|asp|shtml)$ /$1 [R=301,L]

6. Rediriger une ancien page vers une nouvelle page

RewriteEngine On 
RewriteRule ancienpage.html http://www.monsiteweb/nouvelle-page.html [R=301] 


Sécurisation du fichier .htaccess (et configuration.php)

Ce code est à placer en début de de .htaccess en-dessous de "## Mod_rewrite in use"

RewriteEngine On
<Files .htaccess>
order allow,deny
deny from all
</Files>
<Files configuration.php>
order allow,deny
deny from all</Files>

La documentation complète Apache : 
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html#rewriteflags
https://httpd.apache.org/docs/trunk/fr/rewrite/intro.html

 

Tutoriel Joomla

  • Minimiser le nombre d'extensions Joomla pour rendre Joomla plus rapide

    Minimiser le nombre d'extensions Joomla pour rendre Joomla plus rapide Nous avons toujours eu une opinion bien arrêtée sur les

    Read More
  • Comment réinitialiser les informations d'identification de l'utilisateur

    Comment réinitialiser les informations d'identification de l'dministrateur ? Le moyen le plus simple pour réinitialiser les informations d'identification de l'admin ? La

    Read More
  • Comment créer un nouvel administrateur Joomla ?

    Comment créer un nouvel administrateur Joomla ? Plusieurs raisons peuvent conduire à créer un nouvel accès administrateur à votre site Web

    Read More
  • Comment réinitialiser le mot de passe de l'administrateur Joomla si vous l'avez oublié ?

    Comment réinitialiser le mot de passe de l'administrateur Joomla si vous l'avez oublié ?   Vous avez besoin de réinitialiser le mot

    Read More
  • Comment réinitialiser le mot de passe de Joomla ?

    [Tutoriel Joomla ] Comment réinitialiser le mot de passe de Joomla ? Vous avez besoin de réinitialiser le mot de passe de

    Read More
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15