GNU/Linux >> Tutoriels Linux >  >> Linux

Comment rediriger en utilisant Htaccess - Règles communes pour 301, 302, HTTPS

Comment configurer la redirection à l'aide du fichier .htaccess. Htaccess est un fichier utilisé pour apporter des modifications à la configuration de votre serveur Web sans modifier le fichier de configuration du serveur. Ce fichier .htaccess sera placé dans le répertoire racine de votre site Web.

Dans ce guide, vous allez apprendre à configurer une liste de redirections qui est principalement nécessaire pour votre référencement et votre classement dans les moteurs de recherche.

Voici la liste des redirections que vous allez apprendre ici.

  • Redirection HTTP vers HTTPS avec www.
  • Redirection HTTP vers HTTPS sans www.
  • Redirection d'une page vers une autre page.
  • Redirection de l'ancien domaine vers le nouveau domaine
  • Redirigez l'ancien domaine vers le nouveau domaine tout en préservant le chemin.
  • Rediriger l'emplacement des fichiers vers un nouveau domaine avec le même chemin.
  • Redirection sauf certains chemins.
  • Rediriger le sous-domaine vers le sous-dossier.

Remarque : Les redirections ci-dessous utilisent la redirection permanente 301, vous pouvez donc essayer les règles en utilisant la redirection temporaire 302 à la place et les tester.

1. Rediriger HTTP vers HTTPS avec www

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://www.%1%{REQUEST_URI} [L,NE,R=301]

2. Rediriger HTTP vers HTTPS sans www

RewriteEngine On
RewriteCond %{HTTPS} off [OR]
RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteCond %{HTTP_HOST} ^(?:www\.)?(.+)$ [NC]
RewriteRule ^ https://%1%{REQUEST_URI} [L,NE,R=301]

3. Rediriger une page vers une autre page

La syntaxe est

Redirect type(302/301) old_location new_location
Redirect 301 /old_page https://www.domain.com/new_page

Redirect 301 /old_page https://www.domain.com/folder/

4. Rediriger l'ancien domaine vers le nouveau domaine

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteRule ^(.*)$ "https\:\/\/new-domain\.com\/" [R=301,L]

5. Rediriger l'ancien domaine vers le nouveau domaine tout en préservant le chemin

RewriteEngine on
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule ^(.*)$ "https\:\/\/newdomain\.com\/$1" [R=301,L]

6. Rediriger l'emplacement des fichiers vers un nouveau domaine avec le même chemin

RewriteRule ^.*\.(pdf|doc)$ https://newdomain.com%{REQUEST_URI} [R=301,L]

7. Rediriger sauf certains chemins

Par exemple, si vous souhaitez rediriger toute l'interface de votre site Web vers un nouveau domaine, à l'exception de vos pages WordPress wp-admin, vous devez utiliser les règles suivantes avant les règles de redirection.

RewriteCond %{REQUEST_URI} !^(.*)?wp-login\.php(.*)$
RewriteCond %{REQUEST_URI} !^(.*)?wp-admin$
RewriteCond %{REQUEST_URI} !^/(wp-includes/.*|wp-admin/.*|wp-content/.*)$

8. Rediriger le sous-domaine vers le sous-dossier

Ceci est principalement utilisé pour rediriger un site basé sur un sous-domaine vers un site basé sur un sous-dossier.

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI}/ subfolder
RewriteRule ^(.*) https://domain.com/%{REQUEST_URI} [R=301,NC]
RewriteRule ^(.*) https://domain.com/blog/%{REQUEST_URI} [R=301,NC]


Linux
  1. Comment configurer l'authentification de base dans Apache à l'aide de .htaccess

  2. Est-il possible d'installer deux services pour un package à l'aide de Dh_installinit ? Comment?

  3. Comment attendre le redémarrage du serveur avec Ansible ?

  4. Comment écouter plusieurs connexions tcp en utilisant nc

  5. Comment écrire des règles pour les noms de réseau persistants ?

Comment rediriger HTTP vers HTTPS dans Nginx

Redirection 301 avec NGINX

Comment activer HTTPS pour Varnish Cache à l'aide de Hitch sur CentOS-RHEL 8

Comment bloquer une adresse IP en utilisant .htaccess ?

Comment forcer le HTTPS pour mon domaine ?

Impossible de déterminer le port https pour la redirection dans Docker