Les sites web sont des éléments importants de nos vies. Ils servent de moyens pour développer les entreprises, partager des connaissances et bien plus encore. Autrefois limités à la fourniture de contenus statiques uniquement, avec l’introduction de langages de script côté client et serveur dynamiques et l’avancement continu des langages statiques existants tels que HTML vers HTML5, il est possible d’ajouter toute forme de dynamisme aux sites web et ce qui reste est censé suivre bientôt dans un avenir proche.
Avec les sites web, vient le besoin d’une unité capable de présenter ces sites web à un grand ensemble de publics partout dans le monde. Ce besoin est satisfait par les serveurs qui fournissent les moyens d’héberger un site web. Cela inclut une liste de serveurs tels que: Serveur HTTP Apache, Joomla et WordPress qui permettent d’héberger leurs sites web.

Celui qui souhaite héberger un site web peut créer son propre serveur local ou contacter l’un des administrateurs de serveur mentionnés ci-dessus ou un autre administrateur de serveur pour héberger son site web. Mais le véritable problème commence à ce stade. Les performances d’un site web dépendent principalement des facteurs suivants:
- La bande passante consommée par le site web.
- La sécurité du site web contre les hackers.
- L’optimisme en ce qui concerne la recherche de données dans la base de données
- La convivialité en ce qui concerne l’affichage des menus de navigation et la fourniture de plus de fonctionnalités UI.
Parallèlement à cela, divers facteurs qui régissent le succès des serveurs dans l’hébergement de sites web sont:
- Le taux de compression des données atteint pour un site web particulier.
- La capacité à servir simultanément de multiples clients demandant un même site web ou un site web différent.
- Sécuriser les données confidentielles saisies sur les sites Web tels que : emails, détails de carte de crédit, etc.
- Offrir de plus en plus d’options pour améliorer la dynamique d’un site Web.
Cet article traite d’une fonctionnalité fournie par les serveurs qui aide à améliorer les performances des sites Web tout en les protégeant contre les mauvais bots, les liens chauds, etc., à savoir le fichier « .htaccess ».
Qu’est-ce que .htaccess ?
htaccess (ou hypertext access) sont des fichiers qui offrent aux propriétaires de sites Web la possibilité de contrôler les variables d’environnement du serveur et d’autres paramètres pour améliorer la fonctionnalité de leurs sites. Ces fichiers peuvent se trouver dans n’importe quel répertoire de l’arborescence du site Web et offrent des fonctionnalités au répertoire ainsi qu’aux fichiers et dossiers qu’il contient.
Quelles sont ces fonctionnalités ? Eh bien, ce sont les directives du serveur, c’est-à-dire les lignes qui indiquent au serveur d’effectuer une tâche spécifique, et ces directives s’appliquent uniquement aux fichiers et dossiers situés à l’intérieur du répertoire dans lequel ce fichier est placé. Ces fichiers sont cachés par défaut, car tous les systèmes d’exploitation et les serveurs Web sont configurés pour les ignorer par défaut, mais rendre les fichiers cachés visibles permet de voir ce fichier très spécial. Le type de paramètres pouvant être contrôlés est le sujet des sections suivantes.
Remarque : Si le fichier .htaccess est placé dans le répertoire /apache/home/www/Gunjit/, il fournira des directives pour tous les fichiers et dossiers de ce répertoire, mais si ce répertoire contient un autre dossier nommé : /Gunjit/images/ qui contient à son tour un autre fichier .htaccess, alors les directives de ce dossier remplaceront celles fournies par le fichier maître .htaccess (ou le fichier dans le dossier supérieur dans la hiérarchie).
Serveur Apache et fichiers .htaccess
Serveur HTTP Apache communément appelé Apache a été nommé d’après une tribu amérindienne Apache pour respecter ses compétences supérieures en stratégie militaire. Construit en C/C++ et XML, il s’agit d’un serveur web multiplateforme basé sur le serveur NCSA HTTPd et joue un rôle clé dans la croissance et l’avancement du World Wide Web.
Le plus couramment utilisé sur UNIX, Apache est disponible pour une grande variété de plates-formes, y compris FreeBSD, Linux, Windows, Mac OS, Novel Netware, etc. En 2009, Apache est devenu le premier serveur à servir plus de 100 millions de sites web.
Le serveur Apache a un fichier .htaccess par utilisateur dans le répertoire www/. Bien que ces fichiers soient masqués, ils peuvent être rendus visibles si nécessaire. Dans le répertoire www/, il existe un certain nombre de dossiers correspondant chacun à un site web nommé d’après le nom de l’utilisateur ou du propriétaire. En plus de cela, vous pouvez avoir un fichier .htaccess dans chaque dossier qui configure les fichiers dans ce dossier comme indiqué ci-dessus.
Voici comment configurer le fichier .htaccess sur le serveur Apache…
Configuration sur le serveur Apache
Il peut y avoir deux cas :
Hébergement de site web sur son propre serveur
Dans ce cas, si les fichiers .htaccess ne sont pas activés, vous pouvez activer les fichiers .htaccess en vous rendant simplement sur httpd.conf (Fichier de configuration par défaut pour le démon Apache HTTP) et en trouvant la section <Directories>.
<Directory "/var/www/htdocs">
Et localisez la ligne qui dit…
AllowOverride None
Et corrigez-la à.
AllowOverride All
Maintenant, en redémarrant Apache, .htaccess fonctionnera.
Hébergement de site web sur un serveur d’un autre fournisseur d’hébergement
Dans ce cas, il est préférable de consulter l’administrateur d’hébergement, s’ils autorisent l’accès aux fichiers .htaccess.
25 Astuces ‘.htaccess’ du serveur Web Apache pour les sites Web
1. Comment activer mod_rewrite dans le fichier .htaccess
mod_rewrite permet d’utiliser des redirections et de masquer votre véritable URL en redirigeant vers une autre URL. Cette option peut s’avérer très utile en vous permettant de remplacer les URL longues et complexes par des URL courtes et faciles à retenir.
Pour autoriser mod_rewrite, il suffit d’ajouter la ligne suivante en tant que première ligne de votre fichier .htaccess.
Options +FollowSymLinks
Cette option vous permet de suivre les liens symboliques et ainsi d’activer l’option mod_rewrite sur le site web. Le remplacement de l’URL par une version courte et concise est présenté plus loin.
2. Comment autoriser ou refuser l’accès aux sites Web
htaccess peut autoriser ou refuser l’accès à un site web, un dossier ou des fichiers dans le répertoire où il est placé en utilisant les mots-clés order, allow et deny.
Autoriser l’accès uniquement à l’IP 192.168.3.1
Order Allow, Deny Deny from All Allow from 192.168.3.1 OR Order Allow, Deny Allow from 192.168.3.1
Le mot-clé Order spécifie l’ordre dans lequel l’accès autoriser, refuser serait traité. Pour l’instruction ‘Order‘ ci-dessus, les déclarations Autoriser seraient traitées en premier, puis les déclarations refuser seraient traitées.
Refuser l’accès à une seule adresse IP
Les lignes ci-dessous fournissent les moyens d’autoriser l’accès au site Web à tous les utilisateurs sauf un avec l’adresse IP : 192.168.3.1.
rder Allow, Deny Deny from 192.168.3.1 Allow from All OR Order Deny, Allow Deny from 192.168.3.1
3. Générer des documents d’erreur Apache pour différents codes d’erreur.
En utilisant quelques lignes simples, nous pouvons corriger le document d’erreur qui s’exécute sur différents codes d’erreur générés par le serveur lorsque l’utilisateur/client demande une page non disponible sur le site Web, comme la plupart d’entre nous ont pu voir la page ‘404 Page non trouvée‘ dans leur navigateur Web. Les fichiers ‘.htaccess‘ spécifient quelle action prendre en cas de telles conditions d’erreur.
Pour ce faire, les lignes suivantes doivent être ajoutées aux fichiers ‘.htaccess‘:
ErrorDocument <error-code> <path-of-document/string-representing-html-file-content>
‘ErrorDocument’ est un mot-clé, le code d’erreur peut être l’un des 401, 403, 404, 500 ou tout autre code d’erreur valide et enfin, ‘chemin-du-document’ représente le chemin sur la machine locale (si vous utilisez votre propre serveur local) ou sur le serveur (si vous utilisez le serveur d’un autre pour héberger votre site Web).
Exemple:
ErrorDocument 404 /error-docs/error-404.html
La ligne ci-dessus définit le document ‘erreur-404.html’ placé dans le dossier error-docs à afficher en cas de rapport d’erreur 404 par le serveur pour toute demande invalide d’une page par le client.
rrorDocument 404 "<html><head><title>404 Page not found</title></head><body><p>The page you request is not present. Check the URL you have typed</p></body></html>"
La représentation ci-dessus est également correcte, ce qui place la chaîne représentant un fichier html habituel.
4. Configuration/Désactivation des variables d’environnement du serveur Apache
Dans le fichier .htaccess, vous pouvez configurer ou désactiver les variables d’environnement globales que le serveur autorise à être modifiées par les hébergeurs des sites web. Pour configurer ou désactiver les variables d’environnement, vous devez ajouter les lignes suivantes à vos fichiers .htaccess.
Configuration des variables d’environnement
SetEnv OWNER “Gunjit Khera”
Désactivation des variables d’environnement
UnsetEnv OWNER
5. Définition de différents types MIME pour les fichiers
MIME (Multipurpose Internet Multimedia Extensions) sont les types reconnus par défaut par le navigateur lors de l’exécution d’une page web. Vous pouvez définir des types MIME pour votre site web dans les fichiers .htaccess, de sorte que différents types de fichiers définis par vous puissent être reconnus et exécutés par le serveur.
<IfModule mod_mime.c> AddType application/javascript js AddType application/x-font-ttf ttf ttc </IfModule>
Ici, mod_mime.c est le module de contrôle des définitions de différents types MIME et si vous avez ce module installé sur votre système, vous pouvez l’utiliser pour définir différents types MIME pour différentes extensions utilisées dans votre site web afin que le serveur puisse les comprendre.
6. Comment limiter la taille des téléversements et téléchargements dans Apache
Les fichiers .htaccess vous permettent de contrôler la quantité de données téléversée ou téléchargée par un client particulier depuis votre site web. Pour cela, il vous suffit d’ajouter les lignes suivantes à votre fichier .htaccess :
php_value upload_max_filesize 20M php_value post_max_size 20M php_value max_execution_time 200 php_value max_input_time 200
Les lignes ci-dessus définissent la taille maximale de téléchargement, la taille maximale des données envoyées, le temps d’exécution maximum (c’est-à-dire le temps maximum autorisé à un utilisateur pour exécuter un site web sur sa machine locale) et la contrainte de temps maximum sur le temps d’entrée.