Où enregistrer une redirection 301. Redirection à l'aide de la directive RewriteRule du module mod_rewrite. Communication entre le navigateur et le serveur Web

Une redirection est un moyen de rediriger les utilisateurs et robots de recherche vers une URL différente de celle initialement demandée. Il existe plusieurs types de transfert, dont certains sont répertoriés ci-dessous.

301 Déménagé Définitivement

301 est une redirection permanente, qui indique que la page demandée se trouve à une nouvelle adresse et que l'ancienne doit être considérée comme obsolète. Ce type de redirection transfère 90 à 99 % de la masse du lien vers la nouvelle URL.

Canonisation ou collage d'un domaine

Pour fusionner un domaine de www vers sans www :

RewriteCond %(HTTP_HOST) ^www.site\.com$ RewriteRule ^(.*)$ http://site.com/$1

Pour fusionner un domaine sans www avec www :

RewriteCond %(HTTP_HOST) ^site\.com$ RewriteRule ^(.*)$ http://www.site.com/$1

Pour le bon choix méthode de collage, vous devez prendre en compte les facteurs suivants :

  • Quelle option a une indexation plus élevée ;
  • Quelle option occupe une position plus élevée dans les résultats de recherche ?
  • Canonisation de la barre oblique à la fin de l'adresse.

Lors de la création d'un projet de site Web, vous devez décider d'utiliser ou non une barre oblique à la fin de l'adresse. Pour moteurs de recherche des adresses comme :

  • http://www.site.com/category1
  • http://www.site.com/category1/

Sont des URL différentes. Par conséquent, lorsque vous décidez quel type d'adresses vous aurez sur votre site, vous devez écrire le code suivant afin de supprimer la barre oblique à la fin :

RewriteCond %(HTTP_HOST) (.*) RewriteCond %(REQUEST_URI) /$ RewriteRule ^(.*)(/)$ $1

ou celui-ci pour l'ajouter :

RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_URI) !(.*)/$ RewriteRule ^(.*[^/])$ $1/

Pour rediriger 301 une page vers une autre :

Redirection 301 /oldpage.html http://www.site.com/newpage.html

Pour vous assurer que lors de la demande d'une version page d'accueil, Par exemple: par défaut.htm ou index.html, une redirection sera effectuée vers la page canonique http://www.site.com, vous devrez saisir le code de redirection suivant :

RewriteCond %(THE_REQUEST) ^(3,9)\ /([^/]+/)*(default|index|main)\.(html|php|htm)\ HTTP/ RewriteRule ^(([^/]+ /)*)(par défaut|main|index)\.(html|php|htm)$ http://www.site.com/$1

Redirection d'annuaire

Si votre adresse affiche la structure du répertoire, lorsque des changements se produisent, votre adresse changera également. Par conséquent, vous devez écrire la redirection suivante :

RewriteRule ^(.*)/ancien-catalogue/(.*)$ $1/nouveau-catalogue/$2

Mais il arrive que l'adresse de l'ancien catalogue soit affichée immédiatement après le nom de domaine, par exemple www.site.com/old-catalog/. Dans ce cas, le code suivant est utilisé :

RewriteRule ancien-catalogue /(.*) / ancien-catalogue /$1

Redirection lors de la modification des extensions de fichiers

Lors du changement de CMS, seules les extensions de fichiers changent généralement. Pour canoniser les pages dans ce cas, vous devez utiliser du code tel que :

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Redirection lorsque plusieurs barres obliques ou tirets apparaissent

Pour diverses raisons, il arrive que des barres obliques ou des tirets supplémentaires apparaissent dans l'adresse, par exemple www.site.com/catalog////page-1.html. Ces pages doivent être redirigées vers des adresses comportant une seule barre oblique.

RewriteCond %(REQUEST_URI) ^(.*)//(.*)$ RewriteRule . %1/%2

De la même manière, les tirets supplémentaires dans l'adresse sont supprimés, par exemple en remplaçant www.site.com/catalog/page-1.html par www.site.com/catalog/page-1.html.

RewriteCond %(REQUEST_URI) ^(.*)-(.*)$ RewriteRule . %1-%2

.htaccess - barres obliques supplémentaires après le nom de domaine

  • http://site.com//////catalogue

Supprimer toutes ces barres obliques pour qu'il y ait une redirection vers une page sans barres obliques, c'est-à-dire

  • http://site.com/catalogue

Vous devez écrire :

RewriteCond %(REQUEST_URI) ^(.*)//(.*)$ RewriteRule . %1/%2

Générer des redirections 301

Si les connaissances techniques nécessaires pour écrire votre propre code ne suffisent pas, c'est services spéciaux générer toutes les redirections principales :

Ici, vous pouvez insérer vos données et recevoir instantanément code requis. Les redirections pour les domaines, les URL et les répertoires sont prises en charge.

Comment vérifier la redirection 301 ?

Après avoir apporté des modifications à la partie logique de la redirection, vous devez vérifier sa fonctionnalité. Pour les tests manuels, vous avez besoin de :

  • Pour vérifier si le site fonctionne, accédez à sa page principale ;
  • Promenez-vous sur le site, ses sections et ses pages individuelles.

Mais il existe aussi des services pour contrôle automatique réorienter:

  • http://bertal.ru – données très détaillées sur toutes les réponses du serveur

Règles d'utilisation des redirections 301 vs Canonical

Le moteur de recherche Google établit des règles claires, ce n'est que si vous les suivez qu'il interprétera correctement vos actions. Voici comment les moteurs de recherche 301 et Canonical le comprennent littéralement :

  • cette page est obsolète, la nouvelle page se trouve à telle ou telle adresse. Supprime s'il te plaît ancienne page de l'index, et indexez le nouveau et transférez-y complètement tout le poids de l'ancien.
  • Canonique – en plus de cette version de la page, j'en ai aussi d'autres. Mais s'il vous plaît, indexez uniquement celui sur lequel se trouve Canonical. D'autres versions seront accessibles aux utilisateurs, mais vous n'avez pas besoin de les inclure dans l'index. Tout le poids doit être transféré sur la page avec Canonical.

Préférences pour l'utilisation d'une redirection 301

Généralement, c'est la méthode la plus préférée :

  • Pour pages individuelles– si son adresse a changé définitivement ;
  • Pour les domaines - si le site sera situé en permanence sur un nouveau domaine ;
  • Pour les pages 404 et les pages dont le contenu n'est plus d'actualité. Par exemple, lors de la suppression d'un produit du catalogue, vous pouvez rediriger vers un produit doté de fonctions similaires ou vers une page de catalogue présentant ce type de produit.

Quand vaut-il mieux ne pas utiliser une redirection 301 ?

  • Si leur mise en œuvre est impossible ou prendra un temps déraisonnablement long.
  • Si le contenu est dupliqué sur deux pages, mais que les deux doivent être accessibles à l'utilisateur en raison de certaines différences (par exemple, la taille des vêtements).
  • Si une page possède plusieurs URL (tri du catalogue selon différents critères).
  • Pour les domaines croisés, lorsque le contenu de deux adresses peut être dupliqué, mais il doit l'être sur chacun des domaines.

Avez-vous aimé le post? Cliquez sur les boutons →

Les règles sont données pour le serveur Apache. Dans les règles : %(QUERY_STRING) - désigne le fragment de l'URL après le point d'interrogation (définissant les valeurs des paramètres CGI). Le déclenchement d'une règle de redirection particulière est déterminé par le fait que l'URL de la page relève ou non de cette règle. A propos de la signification de certaines désignations (^, $, NC, etc.).

Vous trouverez ci-dessous les règles les plus utilisées pour configurer le fichier .htaccess pour les redirections 301. Il est préférable de placer toutes les règles après deux lignes :

Options + FollowSymLinks RewriteEngine activé RewriteCond %(HTTP_HOST) ^site\.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1 RewriteCond %(HTTP_HOST) ^www.site\.ru$ RewriteRule ^(.*)$ http://site.ru/$1 Redirection 301 /was.php http://www.site.ru/new.php

Où, nouvelle adresse doit être précisé au complet avec http et le nom de domaine.

RewriteRule ^dir /dir-new/$1

Disons que l'adresse de la page ressemble à : http://www.site.ru/dir/index.php?IBLOCK_ID=1&SECTION_ID=111 , alors pour mettre en place une redirection 301 vers une nouvelle adresse, vous devez utiliser la règle suivante :

RewriteCond %(QUERY_STRING) ^IBLOCK_ID=1&SECTION_ID=111$ RewriteRule ^dir/index\.php$ /new/sef/?

Si un (ou plusieurs) des paramètres GET n'est pas spécifié ou peut avoir une valeur arbitraire (dans notre exemple il s'agit de SECTION_ID), vous pouvez utiliser le code suivant :

RewriteCond %(QUERY_STRING) ^IBLOCK_ID=1&SECTION_ID=(.*)$ RewriteRule ^dir/index\.php$ /new/sef/?

Si vous souhaitez configurer la redirection uniquement pour l'adresse http://www.site.ru/dir/, mais en même temps pour que la page http://www.site.ru/dir/index.php?IBLOCK_ID =1 s'ouvre à l'ancienne adresse, vous devez utiliser le caractère spécial $ dans la règle.

RewriteRule ^dir/$ http://www.site.ru/new-dir/

Pour les domaines de la zone Fédération de Russie, les mêmes règles s'appliquent, mais tous les caractères cyrilliques doivent être remplacés par un code alternatif (c'est en latin). En particulier, la zone .рф elle-même est convertie en .xn--p1ai.

RewriteCond %(HTTP_HOST) ^ancien-site\.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1

Et pour un domaine dans la zone Fédération de Russie :

RewriteCond %(HTTP_HOST) ^xn-...\.xn--p1ai$ RewriteRule ^(.*)$ http://www.site.ru/$1 RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_URI) !\..(1,10)$ RewriteCond %(REQUEST_URI) !(.*)/$ RewriteRule ^(.*)$ http://www.site. ru/$1/ RewriteCond %(REQUEST_FILENAME) !-d RewriteCond %(REQUEST_URI) ^(.+)/$ RewriteRule ^(.+)/$ http://www.site.ru/$1 RewriteCond %(HTTP_HOST) ^si-te\.ru$ RewriteRule ^(.*)$ http://www.site.ru/si-te/ RewriteRule ^bitrix/ /bitrix/admin/ RewriteRule ^(.*)$ http://www.newsite.ru/new/ RewriteRule ^dir(.*)$ /nouveau-fichier.php RewriteRule ^dir/no-file.html /no-file-new.html RewriteRule ^dir(.*)$ /all.php RedirectMatch 301 (.*)\.html$ http://www.new-site.ru$1.php

Spécifie l'ordre de chargement des types de fichiers d'index situés à la racine du répertoire.

AnnuaireIndex index.html index.php index.htm index.shtml RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://www.site.ru/ RewriteCond %(HTTP_HOST) ^test.site.ru$ RewriteRule ^(.*)$ http://site.ru%(REQUEST_URI) RewriteRule [^abc]/unique-file.html /unique-file.html

Le code vous permet de définir une redirection 301 de tous les dossiers comme http://site.ruuniqe-file.html vers un fichier à la racine /unique-file.html. Cela peut être utile lors de la refonte d’un site et de la modification des liens.

RewriteRule ^testovyi/test/?$ /studio/news/detail.php?ID=230354&PAGEN_2=11

Le code permet de créer une copie de la page avec l'adresse relative /studio/news/detail.php?ID=230354&PAGEN_2=11 à /testovyi/test/

Attention, il est important que le code réponse du serveur pour une erreur 404 soit exactement 404. Le chemin d'accès au fichier est indiqué à l'aide de la ligne suivante :

Document d'erreur 404 /404-pour-moi.php RewriteCond %(HTTP_HOST) ^(+)\.site\.com$ RewriteRule ^(.*) http://site.com/$1 RewriteCond %(HTTP_HOST) ^(+)\.site\.com$ RewriteCond %(HTTP_HOST) !=one.site.com RewriteRule ^(.*) http://site.com/$1

Toutes les règles sont exécutées dans l'ordre direct dans lequel elles apparaissent dans le fichier .htaccess, et la règle écrite plus tard sera exécutée plus tard.

Pour les sites qui n'utilisent pas de serveur Apache, des redirections 301 similaires peuvent être facilement configurées à l'aide de PHP :

Il est optimal de configurer toutes les redirections immédiatement vers la page finale (sans redirections intermédiaires, en une seule étape), cela améliore leur perception par les moteurs de recherche et les utilisateurs.

RewriteCond %(HTTP_USER_AGENT) (iPad|ipad|iphone|iPhone|ipod|iPod|android|midp|j2me|symbian|series\ 60|symbos|windows\ mobile|windows\ ce|ppc|smartphone|blackberry|mtk|bada| Téléphone Windows)

RéécrireRule (.*) http://mobile.site.ru/

RéécritureCond %(HTTP_USER_AGENT) ! (accoona|ia_archiver|antabot|ask\ jeeves|baidu|dcpbot |eltaindexer|feedfetcher|gamespy|gigabot|googlebot |gsa-crawler|grub-client|gulper|slurp|mihalism|msnbot|worldindexer |ooyyo|pagebull|scooter|w3c_validator |jigsaw|webalta|yahoofeedseeker |yahoo!\ slurp|mmcrawler|yandexbot|yandeximages |yandexvideo|yandexmedia|yandexblogs|yandexaddurl|yandexfavicons |yandexdirect|yandexmetrika|yandexcatalog|yandexnews |yandeximageresizer)

RewriteRule (.*) http://no-search.site.ru/

Redirection de www.site.ru/component/content/?view=featured vers www.site.ru/

RewriteCond %(QUERY_STRING) ^view=featured$ RewriteRule ^component/content/?$ /?

RewriteCond %(QUERY_STRING) ^idc=4&marea=6$ RewriteRule ^index\.php$ /? . - Un point remplace un caractère arbitraire. - désigne une liste de caractères correspondant aux lettres a, b ou c. [^abc] - une liste de caractères qui ne sont pas inclus dans la plage spécifiée. Correspond à n'importe quel caractère sauf a, b ou c. * - signifie que le caractère précédent peut être répété (0 fois ou plus). * - la commande trouvera les caractères consécutifs d'un ensemble donné. [^abc]* - exactement le contraire. .* - remplace absolument n'importe quel jeu de caractères. ".*" - trouvera toutes les sous-chaînes entre guillemets. ^ - le début de la ligne (s'il est utilisé au début de l'expression). $ - désigne la fin de la ligne. \w - lettre, chiffre ou trait de soulignement _. \d - remplace n'importe quel nombre. \D - remplace n'importe quel caractère, mais pas un nombre. - remplace n'importe quel numéro. - n'importe quelle lettre de a à z (l'ensemble du jeu de caractères latins) en minuscules. - n'importe quelle lettre de A à Z en MAJUSCULES. - n'importe quelle lettre de a à Z en tout cas. - le même. RéécrireRule(.*) $1 ?

Placer après : RewriteBase /

Rappel des symboles et notations utilisés La ligne RewriteCond est une condition d'exécution de la règle RewriteRule. Si la condition est remplie, alors la redirection est déclenchée. Les règles peuvent être spécifiées à l'aide d'expressions régulières.
Caractères spéciaux utilisés dans les règles et leurs significations.

^ - caractère spécial en début de ligne ;
$ - caractère spécial de fin de ligne ;
! - caractère de négation spécial ;
. - point, remplace n'importe quel caractère, mais un seul ;
() - regroupement ;
\ est une barre oblique « d'échappement » ; le caractère suivant est considéré comme un caractère normal et non comme un caractère spécial.

Les modificateurs sont utilisés après les caractères normaux et spéciaux ou leurs groupes et vous permettent d'étendre les capacités des modèles pour déclencher des règles.

Le symbole est répété 0 ou 1 fois.
+ - répété de 1 à 65536 fois.
* - répété de 0 à 65536 fois.

Indicateurs qui spécifient des options pour la règle à utiliser. Ils sont répertoriés entre crochets séparés par des virgules, par exemple ou .

NC - Indicateur NoCase, qui désactive la vérification de la casse des caractères lorsque la règle est déclenchée.
R - Indicateur de redirection, exécute le processus d'arrêt du changement d'URL et renvoie le résultat. La valeur la plus couramment utilisée est R=301, mais d'autres sont possibles pour les redirections temporaires (302, MOVED TEMPORARY).
L - Dernier drapeau, arrête la formation de l'URL et la ligne est considérée comme finale.

  • Redirect 301 – théorie et pratique de la redirection, configuration et règles d’utilisation

MISE À JOUR :

RewriteCond %(SERVER_PORT) !^443$ RewriteRule .* https://%(SERVER_NAME)%(REQUEST_URI)

RewriteCond %(SERVER_PORT) ^443$ RewriteCond %(HTTPS) =on RewriteRule ^(.*)$ http://votre_site.com/$1

Environ 301 redirections ont probablement déjà été dites et redites à de nombreuses reprises dans des blogs, forums, etc. Mais il s'avère que tout le monde ne reçoit pas cette information à temps (ici, il me semble que je fais allusion à moi-même :). Pendant plus de 3 ans sur Internet, j'ai entendu parler de redirections 301 à plusieurs reprises, parfois j'allais même « essayer », mais avouons-le, je ne l'ai jamais fait. Mais en vain! Tout a commencé de manière assez prosaïque : j'ai un site Web qui a constamment du mal à être indexé par les moteurs de recherche. Il semble qu’il y ait des liens là-bas et que le contenu soit normal, mais il ne veut toujours pas fonctionner de manière stable. J'étais presque à court d'options pour un tel comportement, mais je me suis ensuite souvenu des bases du référencement et de la promotion en général - les redirections 301.

Un rapide sondage sur Twitter a montré qu’en réalité, je suis presque le seul à manquer ce point important. La majorité a répondu à l’unanimité qu’il est obligatoire d’installer les redirections 301 immédiatement lors de la création d’un site internet. De plus, on m'a récemment demandé de développer un site Web pour ajouter cette même redirection 301 pour eux, puisque la demande provenait d'une entreprise de promotion. En prenant en compte tous ces points et « indices du sort », j'ai réalisé qu'il y aurait une redirection 301 !

Pourquoi avez-vous besoin d’une redirection 301 ? - demandez-vous - il existe plusieurs situations dans lesquelles il peut être appliqué :

  • Pour fusionner un domaine avec www et sans www. Dans ce cas, les indicateurs et le poids des liens seront combinés, sinon il arrive parfois que pour un domaine avec et sans www ils puissent différer.
  • Lors du changement d'un domaine d'un ancien vers un nouveau, une redirection 301 vous permettra à nouveau de sauvegarder les indicateurs et le lien (je ne connais pas le TCI, mais PR bien sûr).
  • Lorsque vous déplacez une page sur le site afin que les moteurs de recherche et les visiteurs y accèdent nouvelle page au lieu de l'ancien qui ne fonctionne pas.
  • S'il existe des domaines PR avec des liens que vous n'utilisez pas pour une raison quelconque, peut-être que vous n'avez tout simplement pas le temps, alors théoriquement, vous pouvez utiliser les redirections 301 vers vos autres sites. Bien que cette méthode soit comme ça - opportunité supplémentaire Eh bien, les principaux restent les trois premiers.
  • En général, une redirection 301 est nécessaire à la fois pour les utilisateurs et pour les robots de recherche - elle permet à la fois de s'orienter vers l'existence d'un nouveau site, domaine, page et de les y rediriger sans aucune question. De plus, une redirection 301 regroupera les indicateurs du site et vous permettra de ne pas perdre de positions dans les moteurs de recherche.

    Comment faire une redirection 301

    Il existe de nombreuses solutions à ce problème, tout dépend de ce que moyens techniques votre hébergement l'a. Il existe également de nombreux articles sur les redirections 301 sur Internet que vous pouvez lire ; je n'en citerai que quelques-unes, à mon avis, les situations les plus typiques.

    Redirection simple

    Cela se fait dans le fichier .htaccess ou httpd.conf pour Apache. La version la plus simple d’une simple redirection 301 pour rediriger vers un nouveau domaine ressemble à ceci :

    Redirection 301 /site1/page1.htm http://www.site2.com/page2.htm

    Voici quelques exemples supplémentaires d’une simple redirection 301 :

    Redirection permanente /test http://www.test.com/ Redirection permanente / http://enter.test.com/

    Ici, lorsqu'un utilisateur ou un robot entre dans le répertoire de test, il sera redirigé vers www.test.com, tous les autres iront vers enter.test.com. Pour cette redirection 301, les modules mod_alias doivent être activés sur l'hébergement (pour supporter Redirect, RedirectPermanent et RedirectMatch).

    Redirection 301 en utilisant mod_rewrite dans .htaccess

    Vous avez croisé assez souvent le module mod_rewrite sans même vous en rendre compte. On parle notamment de liens permanents (permaliens) comme outil utile V optimisation du référencement WordPress. Si vous configurez ces mêmes liens dans le panneau d'administration puis allez dans le fichier .htaccess, vous y trouverez toute une série de règles de redirection via la directive RewriteRule. De plus, vous devez vérifier que l'option FollowSymLinks est activée.

    Redirection d'un domaine de www vers non-www

    Options + FollowSymLinks RewriteEngine sur RewriteCond %(HTTP_HOST) ^www.domain\.com$ RewriteRule ^(.*)$ http://domain.com/$1

    Rediriger les requêtes sans-www vers un domaine avec le préfixe www

    Options +FollowSymLinks RewriteEngine sur RewriteCond %(HTTP_HOST) !^www\.(.*) RewriteRule ^(.*)$ http://www.%1/$1

    En général, l'utilisation de www dans le nom d'un site est elle-même dépassée, mais elle existe encore parfois. Si vous créez un nouveau site Web, alors bien sûr, vous indiquez immédiatement partout sans www, mais si vous avez reçu un « produit fini », alors vous devez regarder comment le domaine est affiché dans Résultats Google et Yandex - vous laissez une telle redirection afin de ne rien changer radicalement.

    Redirection 301 d'un ancien domaine vers un nouveau :

    RewriteEngine sur RewriteBase / RewriteRule ^rewrite\.htm$ rewrite.html

    Pour remplacer tous les fichiers .htm par des fichiers .html :

    HTTP/1.1 301 Déplacé définitivement Emplacement : http://www.newdomain.ru/newdir/newpage.htm

    Pour ce faire, par exemple, en PHP on utilise :

    Il est préférable d'insérer ce code au début Script PHP afin que rien ne soit sorti avant (écho ou impression). Merci pour l'explication à l'auteur de cet article, où vous trouverez également des informations sur l'installation d'une redirection vers ASP, ColdFusion, etc., c'est juste qu'avec PHP l'option la plus populaire.

    Notes sur les redirections 301

    Enfin, quelques points sur les redirections 301 dont vous devez vous souvenir et que j'ai rencontrés d'une manière ou d'une autre :

    • Premièrement, la séquence des règles de redirection est prise en compte. Donc, si une règle n'est pas respectée, vérifiez s'il existe d'autres redirections et si elles interfèrent.
    • Deuxièmement, se souvenir de la syntaxe et de toutes les fonctionnalités d'une redirection 301 est assez difficile, donc parfois la logique et essayer certaines options aident beaucoup :) Bien que, bien sûr, il soit préférable de lire la documentation officielle.
    • Troisièmement, après avoir mis en œuvre une redirection 301, assurez-vous de vérifier les règles de fonctionnalité, accédez non seulement à la page principale, mais parcourez également les sections et les pages du site afin qu'il n'y ait aucun problème avec cela plus tard.

    Si vous avez quelque chose à ajouter concernant les redirections 301, écrivez :)

    P.S. Garde. De nos jours, il y a chaque jour de nombreux Internet intéressant projets. Si vous voulez tout savoir sur les startups, lisez le nouveau blog passionnant StartupWay.
    Après l'audit et l'optimisation du projet Web, une promotion complète des sites dans les moteurs de recherche s'ensuit. Systèmes Google et Yandex.

    j'ai tout récupéré moyens possibles faire une redirection 310 en utilisant différentes façons. Vous pouvez choisir vous-même ce que votre cœur désire.

    En fait, comprenons les options pour effectuer correctement une redirection (transfert).

    Redirection 301 simple dans .htaccess

    Si votre serveur (ou hébergement) utilise Apache, la redirection peut se faire via un fichier. htaccess. Cette méthode, à mon avis, est la plus simple et la plus pratique de toutes que j'ai vue. Important! N'oubliez pas d'activer les modules mod_alias (pour prendre en charge les règles Redirect, RedirectPermanent et RedirectMatch) et mod_rewrite dans php.ini.

    1. Transfert simple des anciennes pages vers les nouvelles : Redirection 301 /old/ http:// domain.com/new/ ou Redirect permanente /old/ http:// domain.com/new/

    Le seul inconvénient est la nécessité d'effectuer toutes les modifications manuellement, c'est-à-dire que chaque adresse est écrite directement par le programmeur.

    2. Redirection 301 en .htaccess pour les liens en russe

    La seule différence qui m'a pris beaucoup de temps était la nécessité de sauvegarder avec précision le document au format UFT-8 sans BOM, ce qui est très point important. Si vous enregistrez dans un format différent, votre redirection ne fonctionnera probablement pas.

    Tout le reste est identique:

    3. Redirection à l'aide de RedirectMatch

    Une méthode de redirection similaire à celle décrite ci-dessus, sauf que dans ce cas vous pouvez spécifier une redirection si vous avez transféré le site d'un moteur php vers aspx.

    RedirectMatch /(.*).php$ /$1.aspx

    4. Redirection de domaine de www vers non-www
    Options +FollowSymLinks RewriteEngine sur RewriteCond %(HTTP_HOST) ^www.(.*) RewriteRule ^(.*)$ http://%1/$1

    Une autre option sous une forme plus simple :

    Options + FollowSymLinks RewriteEngine sur RewriteCond %(HTTP_HOST) ^www.domain.com$ RewriteRule ^(.*)$ http://domain.com/$1

    5. Rediriger les requêtes sans www vers c-www Options + FollowSymLinks RewriteEngine On RewriteCond %(HTTP_HOST) ^domain.com$ RewriteRule ^(.*)$ https://domain.com/$1

    résout également un problème similaire :

    RewriteEngine sur RewriteCond %(HTTP_HOST) !^www.(.*) RewriteRule ^(.*)$ https://%1/$1

    6. Rediriger les liens avec une barre oblique vers sans pour l'ensemble du site RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) ![^\/]$ RewriteRule ^(.*)\/$ /$1 7. Redirection 301 comme au point 6, mais vice versa RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteRule ^(.*[^\/])$ /$1/ 8. Supprimez la barre oblique à la fin du lien principal s'il est sans www RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteCond %(HTTP_HOST) ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1/ RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) ![^\/]$ RewriteCond %(HTTP_HOST) ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1 RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteCond %(HTTP_HOST) ^([^www].*)$ RewriteRule ^(.*)$ http://%1/$1/ 9. Supprimez la barre oblique à la fin du lien principal si elle est avec www RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteCond %(HTTP_HOST) ^www\.(.*)$ RewriteRule ^(.*)$ http://www.%1/$1/ RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) !\/$ RewriteCond %(HTTP_HOST) ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1/ RewriteCond %(REQUEST_URI) !\? RewriteCond %(REQUEST_URI) !\& RewriteCond %(REQUEST_URI) !\= RewriteCond %(REQUEST_URI) !\. RewriteCond %(REQUEST_URI) ![^\/]$ RewriteCond %(HTTP_HOST) ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1 10. Supprimez en utilisant le bon redirige /index.php (sans GET) RewriteCond %(REQUEST_URI) /index.php RewriteCond %(QUERY_STRING) ^\z RewriteRule ^(.*)$ http://site.ru/? 11. Redirection 301 pour toutes les adresses où il y a index.php RewriteCond %(REQUEST_URI) /index.php RewriteRule ^(.*)$ http://site.ru/ 12. Nous redirigeons d'une URL dynamique vers une URL statique

    option avec GET

    RewriteCond %(QUERY_STRING) ^id=229 RewriteRule ^.*$ /supermodel/?

    option sans GET

    RewriteCond %(REQUEST_URI) /test/ RewriteCond %(QUERY_STRING) ^id=229 RewriteRule ^.*$ /supermodel/?

    13. Nous redirigeons toutes les pages d'un domaine vers une url d'un autre domaine RewriteCond %(REQUEST_URI) (.*) RewriteRule ^(.*)$ http://site.ru/ 14. Redirections pour SSL (redirection de http vers https et vice versa)

    J'ai écrit davantage à ce sujet, que, à la lumière, je propose d'étudier.

    RewriteEngine sur RewriteCond %(HTTPS) hors RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

    Redirection à l'aide de scripts

    De nombreuses personnes effectuent des redirections à l'aide de scripts. Une petite sélection pour changer.

    HTTP/1.1 301 déplacé définitivement Emplacement : https://new.com/new-k/new.htm Redirection PHP

    15. Redirections ASP

    17. Redirection ASP.NET
    private void Page_Load (expéditeur d'objet, System.EventArgs e) ( Response.Status = "301 Moved Permanently"; Response.AddHeader ("Location", "https://new.com"); ) 18. Redirection ColdFusion
    19. Redirection JSP (Java)
    20. CGI PERL
    $q = nouveau CGI ; print $q->redirect("https://new.com/"); Ruby on Rails def old_action headers["Status"] = "301 déplacé de façon permanente" redirect_to "https://new.com/"

    Il existe également différentes recommandations des moteurs de recherche pour la mise en œuvre des redirections 301. Je recommande d'utiliser Recommandations Google, qui fournissent des recommandations très détaillées sur la façon de configurer correctement une redirection 301.

    Pour placer des redirections 301 sur Serveurs Apache, modifiez simplement le fichier .htaccess comme décrit ci-dessus. Si vous ne comprenez pas comment cela fonctionne et que les symboles malchanceux dans la description ci-dessus sont un grand mystère pour vous, contactez votre hébergeur ou écrivez une question dans les commentaires.

    Comment faire une redirection 301 (redirection) dans WordPress à l'aide d'un plugin

    Beaucoup de gens utilisent l'un des plus populaires CMS WordPress. Pour diverses raisons, nous pouvons être amenés à effectuer une redirection au sein du site. Par exemple, ce besoin s'est posé pour moi lors du déplacement d'un site Web vers un nouveau domaine.

    Le plus solution optimale Il s’est avéré que c’était un plugin pour WordPress qui a résolu tous mes problèmes. L'inconvénient de ce plugin était uniquement la création manuelle d'une liste de liens de redirection.

    Dans l’ensemble, le plugin pour WordPress me convient plutôt bien à ce jour.

    Regardons quelques explications liées à la redirection 310

    Une redirection 301, ou erreur de serveur 301, est une réponse spécifiée dans l'en-tête HTTP et indique que l'ancienne adresse a un nouveau chemin de manière permanente.

    ** L'erreur 303 indique un chemin de redirection temporaire.

    Une redirection est la redirection automatique d’un visiteur d’un site vers un autre. Bref, l’utilisateur se retrouve sur une page complètement différente de celle dont il a tapé l’adresse dans la barre de recherche.

    La redirection est effectuée à l'aide d'un script qui effectue la redirection. L'astuce réalisée est utile pour les propriétaires de sites qui souhaitent acheter un nom de domaine plus euphonique.

    Par exemple, changer l’adresse d’une boutique en ligne entraîne de grosses pertes, car certains visiteurs seront perdus. Dans ce cas, le script résout ce problème : les utilisateurs saisissent également la même adresse qu'ils connaissent, mais sont redirigés vers une nouvelle page. Une redirection sera utile dans les cas où plusieurs noms de domaine sont croisés. L'adresse du site peut être saisie en précisant www ou simplement en tapant rapidement le nom principal, mais c'est à l'aide du script qu'ils se retrouvent sur la même page.

    La fonction de redirection est utile non seulement pour maintenir un bon trafic vers les boutiques en ligne. La promotion du site a coûté beaucoup d'efforts aux propriétaires, il est donc logique qu'ils s'efforcent de maintenir leur position. Pour créer une entreprise plus prospère au sein d’une boutique en ligne, vous pouvez regrouper plusieurs sites. Une redirection est utilisée pour cela. Cette méthode La mise en œuvre de la fonction de redirection, d'une part, est très rapide et fiable, d'autre part, les moteurs de recherche se méfient des sites collés.

    Pourquoi cela arrive-t-il?

    Le fait est que les sites de recherche sont des machines qui doivent indexer clairement toutes les ressources. Les sites collés rendent l'efficacité difficile indexation rapide, ce qui, à son tour, réduit la fluidité de leur travail.

    Les plus dangereux dans ce contexte sont les sites indexés par des robots, tout en dirigeant l'utilisateur vers la ressource à partir de laquelle s'effectue la redirection. Mais les moteurs de recherche ne perçoivent pas toujours négativement les sites liés. Nous parlons de la fonction de redirection 301.

    La redirection 301 est un service au niveau du serveur. C'est une exception parmi d'autres fonctions similaires, puisque presque tous les moteurs de recherche la perçoivent comme conviviale. En particulier, le plus grand moteur de recherche Ressource Google, qui est le plus souvent utilisé, redirige favorablement avec un service de redirection 301 vers la page souhaitée.

    La raison de l’interaction réussie d’une redirection 301 avec les ressources de recherche est qu’elle est fondamentalement différente des services d’optimisation similaires. Il est conçu de manière à fonctionner clairement pour un robot, qui est un moteur de recherche. Une redirection redirige vers l’URL de la page souhaitée une fois et définitivement.

    L'impact de la redirection 301 sur la promotion SEO

    1. Avec une redirection 301, les adresses sont fusionnées. Les robots des moteurs de recherche et les utilisateurs ouvrant le site dans un navigateur sont automatiquement redirigés vers une nouvelle page avec une nouvelle adresse.

    2. Lors de la fusion d'adresses, la nouvelle URL reçoit tout le poids de la page, la masse des liens et des valeurs telles que TIC.
    Une redirection similaire est meilleure solution lors du déplacement d'un site vers nouveau système gestion de contenu si vous ne voulez pas perdre votre position et le classement du site. Mon blog SEO utilise plusieurs types de redirections 301 pour la redirection.

    C'est tout. J'espère que cet article vous a été utile. Si vous connaissez vos propres méthodes pour configurer une redirection, je serai heureux de les lire dans les commentaires.

    Une redirection 301 est principalement utilisée lorsqu'une page ou un groupe de pages a changé d'adresse. Cela se produit dans les cas où la structure du site change, lorsque la page URL formative change, etc. De nombreux propriétaires de sites n'y pensent pas et des pages en double apparaissent donc, ce qui peut entraîner des pertes de positions ou des chevauchements.

    De plus, la redirection 301 est utilisée pour fusionner des miroirs (par exemple, un domaine avec www et sans www). Cela peut aider à améliorer les paramètres TCI et PR, car pour les moteurs de recherche, l'adresse du site avec « www » et sans « www » sont des URL différentes. Si le propriétaire décide de changer l'adresse du projet en raison d'un changement dans les biens et services fournis précédemment, ou décide d'enregistrer un domaine plus court et plus beau, il est alors très important que lorsque les visiteurs accèdent à l'adresse de l'ancien domaine, ils se retrouver sur la même page qu'avant, mais uniquement celle déjà située sur le nouveau domaine.

    Redirection 301 en .htaccess

    La redirection 301 dans htaccess est le moyen le plus simple et le plus populaire d’installer des redirections. Un des avantages de cette méthode est le fait qu'elle se déclenche sur le serveur avant le lancement. divers scripts ressource et ne crée pas de charge supplémentaire. Voici quelques-uns des exemples les plus courants (remplacez « site » par l’adresse de votre site Web) :

    Redirection 301 en .htaccess pour un domaine avec www. vers un domaine sans www.

    Options + FollowSymLinks
    Réécriture du moteur activé
    RewriteCond %(HTTP_HOST) ^www\.raskruty\.ru$
    RéécrireRule ^(.*)$ http://site/$1

    Redirection inverse depuis un domaine sans www. vers un domaine de www.

    Options + FollowSymLinks
    Réécriture du moteur activé
    RéécritureCond %(HTTP_HOST) ^raskruty\.ru$
    RéécrireRule ^(.*)$ http://www.site/$1

    Rediriger l'adresse 301 de /index.php vers la racine du site /

    RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/
    RewriteRule ^index\.php$ http://www.site/

    Encore un exemple :

    RewriteCond %(THE_REQUEST) ^(GET|HEAD)\ /index\.php
    RéécrireRule.*/

    La même chose peut être faite pour /index.html, il suffit de le remplacer exemple php en HTML.

    Redirection vers nginx :

    Redirection 301 dans nginx pour un domaine avec www. vers un domaine sans www.

    Serveur (
    nom_serveur www.site ;
    réécrire ^ http://site$request_uri? permanent;
    }
    serveur (
    site nom_serveur ;
    .... configuration principale....
    }

    Autre exemple (indésirable) :

    Si ($host = "www.site") (
    réécrire ^/(.*)$ http://site/$1 permanent ;
    }

    Redirection PHP :

    Une redirection 301 est souvent utilisée comme réponse du serveur, remplaçant l'erreur 404 traditionnelle par cette action : Pas trouvé. Pour faire simple, lorsqu'un visiteur clique sur un lien incorrect, ou page supprimée, ne rencontrera pas de message du type : « Désolé, mais cette page a été supprimée », mais sera redirigé vers une autre page valide. Bien que ce point soit controversé parmi les experts, il existe donc plusieurs solutions possibles.

    Premièrement, il existe deux catégories d'erreurs 404 : la première est traditionnelle (classique), lorsque la page manque vraiment, et la seconde est lorsqu'une telle erreur se produit en raison de « courbes ». Liens externes. Par conséquent, dans le premier cas, il vaut mieux tout laisser tel quel, c'est-à-dire « erreur 404 ». Mais dans le second cas, mieux vaut s'occuper de la redirection vers la bonne URL s'il est possible de la restaurer à partir d'un lien rompu ou de rediriger l'utilisateur vers la page principale.

    Dans le cas où un grand projet ou une structure de site complexe doit être retravaillé, le propriétaire est souvent confronté à de multiples redirections ou à de longues chaînes. Cela signifie que la redirection n'est pas effectuée en une seule étape, mais en plusieurs - c'est une situation négative et doit être évitée. Si un robot de recherche suit un tel lien et reçoit plusieurs redirections d'affilée, il commencera à penser qu'il veut le tromper et arrêtera ses actions, et cessera généralement d'indexer ces liens.

    Si possible, vous devez vous efforcer d’empêcher les redirections au sein de la ressource. Par exemple, si les liens menant d'autres ressources vers le site ne peuvent pas être corrigés et qu'une redirection est requise, alors les liens internes rompus doivent être corrigés. Bien que cela n’affecte pas les classements ou l’indexation, il est préférable d’être prudent et d’éviter de telles questions controversées.

    Lors de la création de règles de redirection dans .htaccess, vous devez exclure les adresses réelles des fichiers et des répertoires sur le serveur et surveiller la sélection.