GNU/Linux >> Tutoriels Linux >  >> Panels >> cPanel

Comment configurer des règles et des redirections dans .htaccess

Comment configurer des règles et des redirections dans .htaccess

.htaccess est un fichier de configuration au niveau du répertoire pris en charge par le serveur Web Apache. Il est utilisé pour modifier la configuration du serveur Web (activer ou désactiver des fonctionnalités supplémentaires) pour le compte spécifique sans modifier les paramètres globaux du serveur.

Le fichier .htaccess prend effet sur l'ensemble du répertoire dans lequel il est placé, y compris tous fichiers et sous-répertoires. Les modifications apportées à ce fichier seront mises en œuvre immédiatement et aucun redémarrage du serveur n'est requis.


Comment localiser le fichier .htaccess
Liste des règles .htaccess couramment utilisées :
  • Autorisation/authentification 
  • Blocage 
  • Pages d'erreur personnalisées 
  • Mod_Rewrite (règles de redirection)
  • Modification du répertoire racine du domaine
Désactivation des règles .htaccess existantes


Pour accéder au fichier .htaccess principal de votre compte d'hébergement, suivez les étapes ci-dessous :

1. Connectez-vous à votre cPanel .
2. Accédez à la section Fichiers>> Gestionnaire de fichiers :



3. Si vous souhaitez modifier le fichier .htaccess pour votre domaine principal, accédez à public_html dossier. Si vous devez apporter des modifications au domaine complémentaire, accédez à public_html/votredomaineraddon.com dossier.

Une fois là-bas, assurez-vous que Afficher les fichiers cachés (dotfiles) l'option est activée dans Paramètres menus :



4. Localisez .htaccess fichier, clic droit>> Modifier :



5. S'il n'y a pas de fichier .htaccess dans votre gestionnaire de fichiers, n'hésitez pas à en créer un nouveau en utilisant Fichier options :



Vous êtes prêt à ajouter vos propres règles de configuration et à les enregistrer.



L'usage courant les règles d'un fichier .htaccess sont listées ci-dessous :


Autorisation/authentification – spécifie les restrictions de sécurité pour un répertoire/sous-répertoire.
Vous pouvez protéger par mot de passe un répertoire, ou plusieurs d'entre eux, et chaque fois qu'un visiteur tentera d'y accéder, un nom d'utilisateur et un mot de passe seront demandés.

Pour mettre en place une telle protection, vous devez :

1. Créez le répertoire que vous souhaitez protéger dans /home/cpanel_user/.htpasswds/ dossier (par exemple, pour public_html/test le chemin sera .htpasswds/public_html/test/).
       

2. Créez un mot de passe fichier dans ce répertoire et ajoutez les détails d'accès hachés à l'aide de ce générateur en ligne.

3. Ajoutez les directives suivantes à .htaccess :

AuthType Basic
AuthName "Directory Name"AuthUserFile "/home/cpanel_user/.htpasswds/public_html/test/passwd"require valid-user


Blocage – bloque les utilisateurs par adresse IP ou domaine. Il est très utile pour bloquer les visiteurs indésirables ou pour autoriser l'accès à certaines sections du site Web par son propriétaire, la zone d'administration, par exemple.
Pour mettre en place certaines règles de blocage, créez un fichier .htaccess avec le texte suivant :

  • pour autoriser l'accès à tout le monde et bloquer les utilisateurs avec une adresse IP X.X.X.X

Exige tous accordés
Exige pas ip X.X.X.X

  • pour bloquer tous les visiteurs à l'exception des IP spécifiques X.X.X.X et Y.Y.Y.Y

Exiger tous refusés
Exiger ip X.X.X.X
Exiger ip Y.Y.Y.Y

REMARQUE : Ne mélangez pas l'Autoriser obsolète , Refuser , et Commander directives avec le nouveau Require directive.

Pages d'erreur personnalisées – permet de créer des pages d'erreur personnalisées pour un site. Cette option est très utile car elle vous permet d'afficher aux visiteurs du site Web un message d'erreur correspondant au thème de votre site Web si une URL de votre site Web ne fonctionne pas. Cela permet d'éviter l'erreur par défaut "404 Fichier introuvable" par exemple et vous permet d'afficher une erreur personnalisée avec les instructions de retour dans le contenu de votre site Web, plutôt que de laisser perplexe.
Pour configurer un document d'erreur personnalisé , créez un fichier .htaccess avec le texte suivant ci-dessous :

ErrorDocument 404 /404.html

Chaque fois qu'une erreur 404 (Fichier introuvable) apparaît, cette ligne indique au serveur Web Apache de charger un fichier 404.html situé à la racine du répertoire du domaine pour lequel vous avez défini la page d'erreur.

REMARQUE :Pour configurer un document pour d'autres erreurs (403, 500, etc.), il suffit de remplacer 404 par le code d'erreur correspondant et /404.html par le chemin vers le fichier d'erreur.


Mod_Rewrite – spécifie comment les pages Web et les URL sont affichées aux visiteurs.

Nous aimerions attirer votre attention sur l'utilisation des règles Mod_Rewrite dans le fichier .htaccess.

Par défaut, Mod_Rewrite associe une URL à un chemin de système de fichiers. Cependant, il peut également être utilisé pour rediriger une URL vers une autre URL.

Avant de créer une redirection, vous devez choisir le type de redirection qui vous conviendrait le mieux :

  • Redirection permanente a un code d'état de 301, et contrairement au code temporaire, il est mis en cache dans la mémoire du navigateur. Cela implique que la page a été déplacée et demande à tous les moteurs de recherche et agents utilisateurs accédant à la page de mettre à jour l'URL dans leur base de données. Il s'agit du type de redirection le plus courant.
  • Redirection temporaire signifie que la page envoie le code d'état 302 au navigateur. Le code 302 indique au navigateur de ne pas mettre en cache cette redirection dans ses données enregistrées. Il redirigera le visiteur ou le moteur de recherche, mais le moteur de recherche continuera à indexer la page d'origine. Il s'agit du type de redirection recommandé, à moins que vous ne soyez absolument sûr de ne jamais le modifier à l'avenir.

La liste des redirections les plus courantes et les plus utiles, qui peuvent être définies via le fichier .htaccess, se trouve ci-dessous (les domaines spécifiés dans les exemples doivent être remplacés par les vôtres) :


Redirection permanente depuis example.com à domaine.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OU]
RewriteCond %{HTTP_HOST} ^www\.example\. com$
Règle de réécriture ^(.*)$ "http\:\/\/domain\.com/$1" [R=301,L]

Redirection temporaire depuis example.com à domaine.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OU]
RewriteCond %{HTTP_HOST} ^www\.example\. com$
Règle de réécriture ^(.*)$ "http\:\/\/domain\.com\/" [R=302,L]

REMARQUE :Vous trouverez ci-dessous des exemples de redirections permanentes. Un temporaire peut être défini en remplaçant [R=301,L] par [R=302,L] à la fin du code (si nécessaire).


Redirection depuis example.com/sous-dossier vers domaine.com

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [OU]
RewriteCond %{HTTP_HOST} ^www\.example\. com$
RewriteRule ^subfolder/$ "http\:\/\/domain\.com\/" [R=301,L]


Redirection de HTTP vers HTTPS par exemple.com

RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule .* https://example.com%{REQUEST_URI} [R, L]

ou

RewriteCond %{SERVER_PORT} 80      
RewriteCond %{HTTP_HOST} ^exemple\.com$ [OU]
RewriteCond %{HTTP_HOST} ^ www\.example\.com$
Règle de réécriture ^(.*)$ https://www.example.com/$1 [R,L]


Redirection de non-WWW vers WWW

  • pour tout domaine, .htaccess prend effet le :
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  • pour un certain domaine, exemple.com :
RewriteEngine On     
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301, L]


Redirection du WWW vers le non-WWW
  • pour tout domaine, .htaccess prend effet le :
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301, L]

  • pour un certain domaine, exemple.com :
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com [NC]
RewriteRule (.*) http://example.com/$1 [R=301,L]

Redirigez toutes les pages example.com vers les pages domain.com correspondantes
RedirectMatch 301 ^/(.*)$ http://domain.com/$1

REMARQUE  :Tous les noms de pages doivent correspondre sur les deux domaines, sinon la redirection entraînera un message "Page introuvable" sur le site Web cible.

Redirection d'une page vers une nouvelle URL
Redirection 301 /old_page.html http://www.domain.com/new_page.html

REMARQUE  :Cela peut être utile lorsque vous souhaitez rediriger une page supprimée vers une erreur 404 ou à des fins de référencement après la mise à jour des références de contenu.



Modifie la racine du répertoire pour le domaine principal à public_html/subfolder

RewriteEngine sur
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/subfolder/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /subfolder/$1
RewriteCond %{HTTP_HOST} ^(www.) ? example.com$
RewriteRule ^(/)?$ subfolder/index.php [L]

REMARQUE  :Le fichier .htaccess doit être situé à la racine du répertoire du domaine pour lequel vous souhaitez configurer certaines règles.


Désactivation des règles .htaccess existantes

Si vous avez besoin de désactiver certaines des règles existantes, par exemple, à des fins de test, vous pouvez simplement les commenter. Pour ce faire, ajoutez le signe dièse # au début de chaque ligne de la règle.
De plus, il est possible de désactiver la ligne ou même le bloc de lignes en les sélectionnant et en utilisant la touche Ctrl + / raccourci.




C'est tout !


                      Besoin d'aide ? Contactez notre service d'assistance

Articles associés

Comment configurer la protection interne pour .htaccess
cPanel
  1. Comment configurer la protection interne pour .htaccess

  2. Comment configurer des redirections de domaine dans cPanel

  3. Comment définir des directives PHP à l'aide de .php.ini

  4. Comment activer ExecCGI via le fichier .htaccess ?

  5. Comment définir un fichier comme NON exécutable ?

Comment configurer le serveur et le client NFS sur CentOS 8

Comment définir la page d'index de cPanel via .htaccess ?

Comment restreindre l'accès à votre site Web en utilisant .htaccess et cPanel IP Blocker

Comment configurer une redirection sur cPanel ?

Comment définir une version php via .htaccess dans cPanel ?

Comment configurer et exécuter un Cron dans cPanel