Hostwinds Tutoriels

Résultats de recherche pour:


Table des matières


Quel est le fichier .htaccess?
Activation du fichier .htaccess
Étape 1: Ouvrez le fichier hôte virtuel
Étape 2: Ajouter la directive «Allyoverride All»
Étape 3: Enregistrer le fichier
Étape 4: Redémarrez Apache
Création d'un fichier .htaccess
Redirection d'une URL unique en utilisant la directive «Redirection»
Si vous souhaitez rediriger une URL vers une autre URL sur le même domaine:
Si vous souhaitez rediriger une URL vers une sur un domaine différent:
Redirection de l'URL en vrac à l'aide de la directive «Rewriterule»
Vérifiez si 'mod_rewrite est activé
Pour les systèmes à base de chapeau rouge (Centos, Fedora, Rhel):
Pour les systèmes basés à Debian (Ubuntu, Debian, Linux Mint):
Comment activer 'mod_rewrite'
Pour les systèmes à base de chapeau rouge (Centos, Fedora, Rhel):
Pour les systèmes basés à Debian (Ubuntu, Debian, Linux Mint):
Rediriger les URL basées sur un modèle commun
Rediriger un domaine entier vers un nouveau domaine
Force HTTPS avec directive «Rewriterule»
Forcer HTTPS sur tout le trafic
Force HTTPS sur un domaine spécifique
Ajout et supprimer le préfixe «www»

Comment créer des redirectes à l'aide du fichier .htaccess

Quel est le fichier .htaccess?
Activation du fichier .htaccess
Étape 1: Ouvrez le fichier hôte virtuel
Étape 2: Ajouter la directive «Allyoverride All»
Étape 3: Enregistrer le fichier
Étape 4: Redémarrez Apache
Création d'un fichier .htaccess
Redirection d'une URL unique en utilisant la directive «Redirection»
Si vous souhaitez rediriger une URL vers une autre URL sur le même domaine:
Si vous souhaitez rediriger une URL vers une sur un domaine différent:
Redirection de l'URL en vrac à l'aide de la directive «Rewriterule»
Vérifiez si 'mod_rewrite est activé
Pour les systèmes à base de chapeau rouge (Centos, Fedora, Rhel):
Pour les systèmes basés à Debian (Ubuntu, Debian, Linux Mint):
Comment activer 'mod_rewrite'
Pour les systèmes à base de chapeau rouge (Centos, Fedora, Rhel):
Pour les systèmes basés à Debian (Ubuntu, Debian, Linux Mint):
Rediriger les URL basées sur un modèle commun
Rediriger un domaine entier vers un nouveau domaine
Force HTTPS avec directive «Rewriterule»
Forcer HTTPS sur tout le trafic
Force HTTPS sur un domaine spécifique
Ajout et supprimer le préfixe «www»

Quel est le fichier .htaccess?

Le fichier .htaccess est un fichier de configuration utilisé principalement par les serveurs Web Apache pour contrôler divers aspects du comportement du site Web sur une base par direction.Il vous permet de remplacer les paramètres à l'échelle du serveur et d'appliquer des configurations spécifiques aux répertoires individuels sans modifier directement le fichier de configuration du serveur principal.

Le fichier .htaccess se distingue comme un outil remarquablement puissant pour gérer efficacement diverses tâches de site Web backend.L'une des tâches les plus courantes est la mise en œuvre des redirections, où Vous pouvez exécuter des redirections au niveau des URL individuelles, sur des domaines entiers, et même au niveau du protocole HTTP.

Dans ce tutoriel, nous allons passer en revue la myriade d'options .htaccess offre une redirection, vous guidant à travers les différentes implémentations afin que vous puissiez rediriger efficacement vos URL en toute confiance.

Activation du fichier .htaccess

L'activation du fichier .htaccess indique aux serveurs Web Apache de reconnaître et d'accepter les directives écrites à l'intérieur, ce qui vous configurera pour remplacer les configurations de serveur par défaut au niveau du répertoire.

Si tu as un Hébergement partagé Compte, votre fournisseur de services d'hébergement doit déjà le faire activer, donc tout ce que vous avez à faire est de créer un fichier.

Étape 1: Ouvrez le fichier hôte virtuel

En utilisant votre éditeur de texte préféré (nous utiliserons nano Pour cet exemple), ouvrez le fichier de configuration de votre site Web avec la commande suivante:

Pour les systèmes à base de chapeau rouge (Centos, Fedora, Rhel):

sudo nano /etc/httpd/conf/httpd.conf

Pour les systèmes basés à Debian (Debian, Ubuntu, Linux Mint):

sudo nano /etc/apache2/sites-available/domain_name.conf

Le bloc de fichiers VirtualHost ressemblera à ceci:

<VirtualHost *:80>
    ServerAdmin webmaster@example.com
    ServerName domain_name
    ServerAlias www.domain_name
    DocumentRoot /var/www/domain_name/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Remarque: Selon la façon dont vos fichiers de site Web sont organisés, le 'Documentroot' peut différer.Il y a deux configurations communes:

  • '/ var / www / domain_name / public_html' (ci-dessus) indique que les fichiers de votre site Web sont dans un sous-répertoire appelé 'public_html ' Dans le 'nom de domaine«Répertoire, une structure couramment utilisée pour séparer les fichiers orientés publics des autres fichiers liés au site.L'activation du fichier .htaccess dans ce répertoire n'affectera que les fichiers dans «public_html».
  • Exemple:
/var/www/domain_name/
├── public_html/
│   ├── index.html
│   ├── about.html
│   └── .htaccess
└── logs/
  • '/ var / www / domain_name' indique que tous les fichiers de votre site Web sont situés directement dans le 'nom de domaine'Répertoire.Cette configuration signifie que toutes les directives de fichiers .htaccess s'appliqueront à chaque fichier (accessible au public ou non) dans ce répertoire.
  • Exemple:
/var/www/domain_name/
├── index.html
├── about.html
└── .htaccess

Bien que les deux soient valides, il est important de savoir quels fichiers de site vous pouvez ou non vouloir être affectés par le fichier .htaccess.

Étape 2: Ajouter la directive «Allyoverride All»

Dans le VirtualHost Bloc Ajouter le bloc de contenu du répertoire suivant:

<VirtualHost *:80>  

<Directory /var/www/domain_name/public_html>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

</VirtualHost>

Cette directive, en particulier 'Autoroverride all«C'est ce qui vous permet d'appliquer les directives .htaccess sur tous les fichiers de site Web dans le répertoire donné.

Étape 3: Enregistrer le fichier

Après avoir ajouté le bloc du répertoire, enregistrez et fermez le fichier.Dans Nano, cela peut être fait en appuyant Ctrl + x, puis Oui et pressant ENTRER.

Étape 4: Redémarrez Apache

Pour l'activation complète du fichier .htaccess, vous devrez redémarrer Apache:

Pour les systèmes à base de chapeau rouge (Centos, Fedora, Rhel):

sudo systemct1 restart httpd

Pour les systèmes basés à Debian (Debian, Ubuntu, Linux Mint):

sudo systemct1 restart apache2

C'est ça!Apache vous permettra désormais d'utiliser des fichiers .htaccess dans le répertoire donné.

Création d'un fichier .htaccess

Avec la prise en charge de .htaccess activée, nous pouvons désormais créer le fichier .htaccess.

Pour créer le fichier .htaccess, vous devez aller au répertoire racine où vous avez activé le fichier .htaccess.En utilisant votre éditeur de texte préféré (encore une fois, nous utiliserons Nano) saisir la commande suivante, en remplaçant 'nom de domaine«Avec votre nom de domaine.

Remarque: Retirer 'public_html«Si vous n'avez pas activé le fichier .htaccess dans ce sous-répertoire.

sudo nano /var/www/html/domain_name/public_html/.htaccess

Vous avez maintenant créé un fichier .htaccess et pouvez commencer à présenter les directives de redirection.

Redirection d'une URL unique en utilisant la directive «Redirection»

le 'Réorienter«La directive est l'option la plus simple pour des redirections de 1 à 1 simples.Cette directive peut être utilisée pour rediriger les URL sur le même domaine ou vers un domaine différent.Les directives suivantes fonctionneront pour tous les codes d'état 3XX (301, 302, 307 et 308)

Si vous souhaitez rediriger une URL vers une autre URL sur le même domaine:

Redirect 301 "/original_url_path" "/new_url_path"

Si vous souhaitez rediriger une URL vers une sur un domaine différent:


Redirect 301 "/orignal_url_path" "https://new_domain.com/new_url_path"

Redirection de l'URL en vrac à l'aide de la directive «Rewriterule»

Le 'Réécriture«La directive vous permet d'ajouter des règles supplémentaires aux redirections, telles que la correspondance de motifs, grâce à l'utilisation d'expressions et de conditions régulières.

Vérifiez si 'mod_rewrite est activé

Afin d'utiliser le «réécriture», nous devons nous assurer que le module «mod_rewrite» est activé.

Pour les systèmes à base de chapeau rouge (Centos, Fedora, Rhel):
httpd -M | grep rewrite
Pour les systèmes basés à Debian (Ubuntu, Debian, Linux Mint):
apache2ctl -M | grep rewrite

Si vous voyez la sortie suivante, le module 'mod_rewrite' est activé

rewrite_module (shared)

Comment activer 'mod_rewrite'

Pour les systèmes à base de chapeau rouge (Centos, Fedora, Rhel):

Étape 1: Ouvrez le fichier de configuration Apache (généralement 'httpd.conf' ou 'apache2.conf')

sudo nano /etc/httpd/conf/httpd.conf

Étape 2: Assurez-vous que la ligne suivante n'est pas commentée (non # au début).Si c'est le cas, supprimez simplement '#'

LoadModule rewrite_module modules/mod_rewrite.so

Étape 3: Redémarrez Apache pour appliquer les modifications

sudo systemctl restart httpd
Pour les systèmes basés à Debian (Ubuntu, Debian, Linux Mint):

Étape 1: Activer le module 'mod_rewrite'

sudo a2enmod rewrite

Étape 2: Redémarrez Apache pour appliquer les modifications

sudo systemctl restart apache2

Rediriger les URL basées sur un modèle commun

Si vous avez un modèle commun dans vos anciennes URL, comme le même sous-répertoire (ex. / Blog), vous pouvez utiliser des expressions régulières pour les correspondre et les rediriger:

RewriteEngine On

RewriteRule ^old-section/(.*)$ http://www.example.com/new-section/$1 [R=301,L]

Dans cet exemple, toute URL qui commence par 'ancienne section /' sera redirigé vers 'Nouvelle-section /' avec le même suffixe.

Rediriger un domaine entier vers un nouveau domaine

La directive suivante redirigera tout le trafic de 'old-domain.com' à 'new-domain.com, «Préserver le chemin URI.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^old-domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.new-domain.com/$1 [R=301,L]

Force HTTPS avec directive «Rewriterule»

Lorsque vous «force HTTPS», cela signifie que vous redirigez toutes les demandes HTTP entrantes de votre site vers la version HTTPS sécurisée.

Il existe quelques façons de forcer HTTPS en utilisant la directive «Rewriterule»:

Forcer HTTPS sur tout le trafic

Lorsque vous forcez HTTP sous-domaine.

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Cette méthode de HTTPS forcée est idéale pour les serveurs hébergeant un seul domaine.

Force HTTPS sur un domaine spécifique

Lorsque vous forcez HTTPS sur un domaine spécifique, vous dites au serveur de rediriger les demandes HTTP à HTTPS uniquement pour ce domaine (ou sous-domaine) particulier.

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?specific-domain\.com$ [NC]
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Forcer HTTPS avec cette méthode est particulièrement utile lors de l'hébergement de plusieurs domaines sur un seul serveur et vous n'avez qu'à sécuriser un numéro de sélection.

Ajout et supprimer le préfixe «www»

Vous pouvez également utiliser le fichier .htaccess en conjonction avec la directive «Rewriterule» vers rediriger le préfixe «www».

Pour ajouter le préfixe «www»:

RewriteEngine On

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

Pour supprimer le préfixe «www»:

RewriteEngine On

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

Écrit par Hostwinds Team  /  juin 3, 2024