Redirections et htaccess dans sripta (301/302)

Редиректы в htaccess (301/302)

301 erreur (301 Permament Redirect), retourné par la référence à l'adresse spécifique de la page, indique que le site a été déplacé de façon permanente à une nouvelle adresse, tel que spécifié dans l' en- tête HTTP. Les utilisateurs et les robots de recherche qui sont venus à travers le navigateur sera redirigé vers la nouvelle adresse, dans ce cas, pour les moteurs de recherche toutes les propriétés des anciennes adresses (pages) seront transférés à la nouvelle URL.

Rediriger 301 (déplacé de façon permanente) est la meilleure façon de garder le classement d'un site dans les moteurs de recherche lorsque vous transférez à un nouveau domaine ou la modification du système de gestion de contenu. Si une redirection 301 se coller anciennes et nouvelles adresses: paramètres tels que PageRank et Alexa Rank, ainsi que le poids des pages et des jus de lien l'ancienne adresse sera transféré à la nouvelle URL.

Voici le fichier 301 règles de redirection des réglages les plus fréquemment utilisés.

Внимание Les règles:% {QUERY_STRING} - représente un fragment de l'URL-adresse après le point d' interrogation (spécifier les valeurs CGI-paramètres).

Внимание L'activation d'une règle particulière pour rediriger déterminée entre l'adresse URL de la page sous cette règle ou non.

Внимание La signification de certains symboles (^, $, Caroline du Nord, etc.) , voir. Rappel à la fin de la page .

Внимание Toutes les règles sont exécutées dans l'ordre direct, ils apparaissent dans le fichier .htaccess, et généralement écrits plus tard, et seront effectuées plus tard.

Внимание Il est préférable de placer toutes les règles après deux lignes:

  Options + FollowSymLinks
 RewriteEngine On 

Redirection 301 vers le domaine sans domaine WWW avec WWW préfixe (le miroir principal - domaine avec le www)

  RewriteCond% {HTTP_HOST} ^ Site \ .ru $ [NC]
 RewriteRule ^ (. *) $ Http://www.site.ru/$1 [R = 301, L] 

Avec domaine WWW préfixe sans (miroir primaire - le domaine sans le www)

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

Renvoi standard avec une page statique à un autre

  Rediriger 301 /was.php http://www.site.ru/new.php 

Dans ce cas, la nouvelle adresse doit être entièrement spécifiée par http et le nom de domaine.

Dans certains cas, le renvoi utile à travers RewriteRule

  RewriteRule ^ dir / dir-new / $ 1 [R = 301, L] 

Redirection 301 vers une page avec des paramètres GET

Par exemple, l'adresse de la page ressemble à : h ttp :? //www.site.ru/dir/index.php IBLOCK_ID = 1 & SECTION_ID = 111 puis redirection 301 pour ajuster à la nouvelle adresse, vous devez utiliser la règle suivante:

  RewriteCond% {QUERY_STRING} ^ IBLOCK_ID = 1 & SECTION_ID = 111 $ [NC]
 RewriteRule ^ dir / index \ .php $ / new / sef /?  [R = 301, L] 

Si un (ou plusieurs) des paramètres GET ne sont pas ensemble (s), ou peuvent avoir une valeur arbitraire (dans cet exemple SECTION_ID), vous pouvez utiliser le code suivant:

  RewriteCond% {QUERY_STRING} ^ IBLOCK_ID = 1 & SECTION_ID = (. *) $ [NC]
 RewriteRule ^ dir / index \ .php $ / new / sef /?  [R = 301, L] 

seules les adresses 301 redirection de (pas de paramètres GET) sur le site.ru du miroir primaire

  RewriteCond% {REQUEST_URI} /index.php
 RewriteCond% {QUERY_STRING} ^ \ z
 RewriteRule ^ (. *) $ Http://site.ru/?  [R = 301, L] 

Redirections 301 toutes les adresses avec index.php et les paramètres GET sur la page uniquement avec des paramètres GET (coupe dans le index.php url)

Exemple: site.ru/index.php?n=1 Type site.ru/?n=1

  RewriteCond% {REQUEST_URI} /index.php
 RewriteRule ^ (. *) $ Http://site.ru/ [R = 301, L] 

301 redirection URL avec des paramètres GET (URL dynamique) à une statique

Option 1 (une adresse simple avec paramètre GET)

  RewriteCond% {QUERY_STRING} ^ id = 229
 RewriteRule ^. * $ / Supermodel /?  [R = 301, L] 

Option 2 (à partir de la page et GET paramètre)

  RewriteCond% {REQUEST_URI} / test /
 RewriteCond% {QUERY_STRING} ^ id = 229
 RewriteRule ^. * $ / Supermodel /?  [R = 301, L] 

Redirection 301 pour un fichier spécifique, et non pas l'intégralité du dossier

Si vous souhaitez configurer le renvoi d' appel uniquement pour les adresses http://www.site.ru/dir/, mais cette page http://www.site.ru/dir/index.php?IBLOCK_ID=1 ouvert à l'ancienne adresse, vous devez utiliser le caractère spécial $ en règle.

  RewriteRule ^ dir / $ http://www.site.ru/new-dir/ [R = 301, L] 

Toutes les pages d'un domaine à un autre page d'accueil de domaine

  RewriteCond% {REQUEST_URI} (. *)
 RewriteRule ^ (. *) $ Http://site.ru/ [L, R = 301] 

Chaque page d'un domaine à la même adresse d'une autre url

  RewriteCond% {REQUEST_URI} (. *)
 RewriteRule ^ (. *) $ Http://site.ru/$1 [L, R = 301] 

Comment faire face à des domaines dans la zone de la Fédération de Russie?

Pour les domaines dans la zone de la Fédération de Russie sont toutes les mêmes règles, mais tous les caractères cyrilliques pour être remplacés par un autre code (il est dans l'alphabet latin). En particulier, la zone elle-même. converti en haute fréquence. xn - p1ai.

Redirection 301 du domaine au domaine

  RewriteCond% {HTTP_HOST} ^ vieux site \ .ru $ [NC]
 RewriteRule ^ (. *) $ Http://www.site.ru/$1 [R = 301, L] 

Redirection 301 pour le domaine dans la zone de la Fédération de Russie

  . RewriteCond% {HTTP_HOST} ^ xn -... \ xn - $ p1ai [NC]
 RewriteRule ^ (. *) $ Http://www.site.ru/$1 [R = 301, L] 

Configuration de la transmission du dossier avec une barre oblique à la fin de / (ajouter un slash à la fin)

  RewriteCond% {REQUEST_FILENAME}! -f
 RewriteCond% {REQUEST_URI}! \ .. {1,10} $
 RewriteCond% {REQUEST_URI}! (. *) / $
 RewriteRule ^ (. *) $ Http://www.site.ru/$1/ [L, R = 301] 

Redirection 301 à partir des pages avec une barre oblique sans une barre oblique (ensemble du site)

  RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI}! [^ \ /] $
 RewriteRule ^ (. *) \ / $ / 1 $ [R = 301, L] 

Mise en place sur le renvoi des dossiers sans une barre oblique (enlever le slash à la fin)

  RewriteCond% {REQUEST_FILENAME}! -d
 RewriteCond% {REQUEST_URI} ^ (. +) / $
 RewriteRule ^ (. +) / $ Http://www.site.ru/$1 [R = 301, L] 

301 pages de redirection sans slash slash sur (souvent dans le système CMS est installé automatiquement)

  RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI}! \ / $
 RewriteRule ^ (. * [^ \ /]) $ / 1 $ / [R = 301, L] 

Un (pas les deux successifs!) Redirection 301 vers le www et sans une barre oblique à la fin de l'adresse de la page

  RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI}! \ / $
 RewriteCond% {HTTP_HOST} ^ www (. *) $ \.
 RewriteRule ^ (. *) $ Http: //% 1 / $ 1 / [L, R = 301]
 
 RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI}! [^ \ /] $
 RewriteCond% {HTTP_HOST} ^ www (. *) $ \.
 RewriteRule ^ (. *) $ Http: // 1% 1 / $ [L, R = 301]
 
 RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI}! \ / $
 RewriteCond% {HTTP_HOST} ^ ([^ www]. *) $
 RewriteRule ^ (. *) $ Http: //% 1 / $ 1 / [L, R = 301] 

Un (pas les deux successifs!) Redirection 301 vers le www et c avec une barre oblique à la fin de l'adresse de la page

  RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI}! \ / $
 RewriteCond% {HTTP_HOST} ^ www (. *) $ \.
 RewriteRule ^ $ Http (*.): //www.%1/$1/ [L, R = 301]
 
 RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI}! \ / $
 RewriteCond% {HTTP_HOST} ^ ([^ www]. *) $
 RewriteRule ^ $ Http (*.): //www.%1/$1/ [L, R = 301]
 
 RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI}! [^ \ /] $
 RewriteCond% {HTTP_HOST} ^ ([^ www]. *) $
 (. *) RewriteRule ^ $ Http: //www.%1/$1 [L, R = 301] 

Un (pas les deux successifs!) Redirection 301 vers c www et sans une barre oblique à la fin de l'adresse de la page

  RewriteCond% {REQUEST_URI} ^ \ / $
 RewriteCond% {HTTP_HOST} ^ ([^ www]. *) $
 (. *) RewriteRule ^ $ Http: //www.%1/$1 [L, R = 301]
 
 RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI} \ / $
 RewriteCond% {HTTP_HOST} ^ www (. *) $ \.
 RewriteRule ^ (*). \ / $ Http: //www.%1/$1 [L, R = 301]
 
 RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI}! \ / $
 RewriteCond% {HTTP_HOST} ^ ([^ www]. *) $
 (. *) RewriteRule ^ $ Http: //www.%1/$1 [L, R = 301]
 
 RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI} \ / $
 RewriteCond% {HTTP_HOST} ^ ([^ www]. *) $
 RewriteRule ^ (*). \ / $ Http: //www.%1/$1 [L, R = 301] 

Un (pas les deux successifs!) Redirection 301 vers le www et sans une barre oblique à la fin de l'adresse de la page

  RewriteCond% {REQUEST_URI} ^ \ / $
 RewriteCond% {HTTP_HOST} ^ www (. *) $ \.
 RewriteRule ^ (. *) $ Http: // 1% 1 / $ [L, R = 301]
 
 RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI} \ / $ 
 RewriteCond% {HTTP_HOST} ^ www (. *) $ \.
 RewriteRule ^ (*). \ / $ Http: //% 1 / $ 1 [L, R = 301]
 
 RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI}! \ / $
 RewriteCond% {HTTP_HOST} ^ www (. *) $ \.
 RewriteRule ^ (. *) $ Http: // 1% 1 / $ [L, R = 301]
 
 RewriteCond% {REQUEST_URI}! \?
 RewriteCond% {REQUEST_URI}! \ &
 RewriteCond% {REQUEST_URI}! \ =
 RewriteCond% {REQUEST_URI}! \.
 RewriteCond% {REQUEST_URI} \ / $
 RewriteCond% {HTTP_HOST} ^ ([^ www]. *) $
 RewriteRule ^ (*). \ / $ Http: //% 1 / $ 1 [L, R = 301] 

Redirection 301 du domaine dans un dossier sur un domaine différent

  RewriteCond% {HTTP_HOST} ^ si-te \ .ru $ [NC]
 RewriteRule ^ (. *) $ Http://www.site.ru/si-te/ [R = 301, L] 

Rediriger tous les fichiers de domaine, les dossiers sauf administrateur Bitrix

  RewriteRule ^ Bitrix / / Bitrix / admin / [L, R = 301]
 RewriteRule ^ (. *) $ Http://www.newsite.ru/new/ [L, R = 301] 

Rediriger tous les fichiers dans un dossier sur le fichier spécifié

  RewriteRule ^ dir (. *) /new-file.php $ [L, R = 301] 

Rediriger les fichiers de dossiers spécifiés, sauf un fichier spécifique

  RewriteRule ^ dir / non-file.html /no-file-new.html [L, R = 301]
 RewriteRule ^ dir (. *) /all.php $ [L, R = 301] 

Changez de pages avec l'extension html en extension php

  RedirectMatch 301 (. *) \ Html $ http :. //www.new-site.ru$1.php 

Spécifiez le type de page d'index (php, html, htm, etc.)

Indique la séquence de démarrage des types de fichiers d'index, se trouvant dans le répertoire racine.

  DirectoryIndex index.html index.php index.htm index.shtml 

Rediriger à la page d'index php sur le dossier lui-même (la racine)

  RewriteCond% {THE_REQUEST} ^ [AZ] {3,9} \ / index \ .php \ HTTP /
 RewriteRule ^ index \ .php $ http://www.site.ru/ [R = 301, L] 

Dévier à partir de sous-domaine au domaine principal du second niveau

  RewriteCond% {HTTP_HOST} ^ test.site.ru $ [NC]
 RewriteRule ^ $ Http (*.): //site.ru% {REQUEST_URI} [R = 301, NC, L, QSA] 

Redirection vers le fichier spécifié dans différents répertoires (dossiers)

Le code vous permet de mettre une redirection 301 sur toutes sortes http://site.ru/***/uniqe-file.html~~number=plural dossiers par fichier dans le /unique-file.html racine. Parfois utile pour la modification du site et de modifier les liens.

  RewriteRule [^ abc] /unique-file.html /unique-file.html [R = 301, L] 

Si vous voulez créer une copie de la CNC une page dynamique, il peut également être mis en œuvre en utilisant .htaccess

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

  RewriteRule ^ testovyi / test /? $ /studio/news/detail.php?ID=230354&PAGEN_2=11 [NC, L] 

Spécification du chemin d'accès au fichier 404 en utilisant .htaccess

S'il vous plaît noter, il est important que le code de réponse du serveur pour 404 était juste 404. Le chemin du fichier est spécifié en utilisant les lignes suivantes:

  ErrorDocument 404 /404-for-me.php 

Redirige vers le serveur Apache

Внимание Pour les sites qui n'utilisent pas le serveur Apache, similaire à des redirections 301 sont facilement configuré en utilisant PHP.

  <? Php
 header ( "HTTP / 1.1 301 Moved permanente");
 header ( "Location: http://www.site.ru/dir/");
 exit ();
 ?> 

Внимание Configurer de manière optimale toutes les redirections directement à la dernière page (sans redirection en une seule étape), il améliore leur perception par les moteurs de recherche et les utilisateurs.

Si vous souhaitez configurer la redirection pour seulement quelques-uns USER_AGENT'ov, plutôt que pour tous les utilisateurs

  RewriteCond% {HTTP_USER_AGENT} (iPad | ipad | iphone | iPhone | iPod | iPod | Android | midp | j2me | symbian | série \ 60 | SymbOS | windows \ portable | windows \ ce | ppc | Smartphone | blackberry | mtk | bada | windows \ téléphone) [NC]
 RewriteRule (. *) Http://mobile.site.ru/ [L, R = 301] 

Si vous souhaitez configurer redirect tous les robots Web (la liste de leur USER_AGENT'ov)

  RewriteCond% {HTTP_USER_AGENT} (Accoona |! Ia_archiver | antabot | demander \ jeeves | baidu | dcpbot | eltaindexer | Feedfetcher | gamespy | Gigabot | googlebot | gsa-crawler | grub-client | gulper | slurp | mihalism | msnbot | worldindexer | OOYYO | pagebull | scooter | w3c_validator | puzzle | Webalta | yahoofeedseeker | yahoo \ slurp |! mmcrawler | yandexbot | yandeximages | yandexvideo | yandexmedia | yandexblogs | yandexaddurl | yandexfavicons | yandexdirect | yandexmetrika | yandexcatalog | yandexnews | yandeximageresizer) [NC]
 RewriteRule (. *) Http://no-search.site.ru/ [L, R = 301] 

Quelques exemples simples

  Transfert avec www.site.ru/component/content/?view=featured sur www.site.ru/
 RewriteCond% {QUERY_STRING} ^ view = vedette $ [NC]
 RewriteRule ^ Composant / contenu /? $ /?  [R = 301, L] 
  Transfert avec www.site.ru/index.php?idc=4&marea=6 sur www.site.ru/
 RewriteCond% {QUERY_STRING} ^ idc = 4 & marea = 6 $ [NC]
 RewriteRule ^ index \ .php $ /?  [R = 301, L] 

Nous supprimons tous les paramètres GET après le point d'interrogation (?)

  RewriteRule (. *) $ 1?  [R = 301, L]
 Positionnement après: RewriteBase / 

Dans la page principale du site est toujours présent site.ru remplir son double à site.ru/index.php

  301 Redirect /index.php http://site.ru/ 

ou

  RewriteCond% {THE_REQUEST} ^ [AZ] {3,9} \ / index \ .php \ HTTP /
 RewriteRule ^ index \ .php $ http://site.ru/ [R = 301, L] 

Si votre site a quelques noms, mais vous voulez que les utilisateurs voient toujours dans la barre d'adresse du nom du site principal, utilisez la ligne suivante immédiatement après la RewriteEngine On:

  RewriteCond% {HTTP_HOST}! ^ Site.ru $
 RewriteRule ^ (. *) Http://site.ru/$1 [R = 301, L] 

Redirection 301 à la fin de l'.html (pour ceux qui ont permis à ce suffixe), rediriger les pages site.ru/article~~V~~plural~~3rd et page site.ru/article/ site.ru/article.html

  RewriteCond% {REQUEST_URI} ($ |? \) (* / [. ^ /] +.)
 RewriteRule. *% 1.html [R = 301, L]
 RewriteRule ^ (. *) / $ /$1.html [R = 301, L] 

ou

  RedirectMatch 301 ($ | \?) $ Http (* / [^ /.] +.): //site.ru$1.html 

Rediriger sans .html à .html, à savoir avec site.ru/article.html sur site.ru/article (pour ceux qui sont d'abord allumé .html, puis décidé de se débarrasser de celui-ci)

  RewriteBase /
 RewriteRule (. *) \. Html $ 1 $ [R = 301, L] 

ou

  RedirectMatch 301 (. *) \ Html $ http :. //site.ru$1 

Rediriger pages avec des paramètres, par exemple avec la page site.ru/blog?limitstart=0 sur site.ru/blog

  RewriteCond% {QUERY_STRING} ^ limitstart = 0
 RewriteRule ^ blog de http://site.ru/blog?  [R = 301, L] 

Pour toute la vieille section de la page redirigé vers la même page que nouvelle section, par exemple site.ru/blog/raznoe/article sur site.ru/blog/article

  RewriteRule ^ blog / raznoe /(.*)$ http://site.ru/blog/$1 [R = permanent, L] 

Redirection 301 avec une barre à l'adresse sans le slash, soit site.ru/article sur site.ru/article/

  RewriteCond% {REQUEST_URI} ($ |? \) (* / [. ^ /] +.)
 RewriteRule. *% 1 / [R = 301, L] 

Rediriger avec une barre oblique sans une barre oblique à la fin, à savoir, avec site.ru/article/ sur site.ru/article

  RewriteRule ^ (. *) / $ / 1 $ [R = 301, L] 

Une autre option pour se débarrasser de la barre oblique à la fin de

  RewriteCond% {REQUEST_FILENAME}! -d
 RewriteRule ^ (. +) / $ / 1 $ [R = 301, L] 

Option pour se débarrasser de la barre oblique pour les pages avec des paramètres, les pages d'exemple avec pagination site.ru/categoriya?start=5/

  RewriteCond% {QUERY_STRING} ^ start = (\ d +) /
 RewriteRule ^ (. *) / 1 $? Start =% 1 [R = 301, L] 

Tout d'abord, nous avons oublié d'inclure SEO dans les paramètres globaux, puis allumé en raison - de l'indice d'un grand nombre de documents à l'adresse /index.php.

Selon le même principe, vous pouvez vous débarrasser de toute imbrication, comme une redirection vers site.ru/ru/catalog~~V site.ru/catalog (/ ru / supprimé).

  RewriteRule ^ index.php /(.*)$ http://mysite.ru/$1 [R = permanent, L] 

Refuser l'accès aux mauvais bots

  SetEnvIfNoCase User-Agent bad_bot "^ Baiduspider"
 SetEnvIfNoCase User-Agent bad_bot "^ MSNBot"
 SetEnvIfNoCase User-Agent bad_bot "^ Baiduspider"
 SetEnvIfNoCase User-Agent bad_bot "^ Ezooms"
 # Continuer à faire la liste, spécifiez l'agent utilisateur mauvais bots
 Commande Autoriser, Refuser
 Permettre de tous
 Deny from env = bad_bot 

Ou robots.txt donne sur le reste 404 (pour l'agent utilisateur - Baiduspider et Ezooms)

  RewriteCond% {HTTP_USER_AGENT} \ b (Baiduspider | Ezooms) \ b [NC]
 RewriteCond% {REQUEST_URI}! ^ / Robots \ .txt [NC]
 RewriteRule * -. [R = 404] 

Diverses autres façons de rediriger

Ci-dessous sont similaires à divers paramètres de règles pour redirection 301.

Redirection vers un script (envoyer les en-têtes)

Rediriger les demandes peuvent également être effectuées à l'aide de scripts, l'envoi du client les en-têtes nécessaires.

  HTTP / 1.1 301 Moved Permanently
 Lieu: http://www.newdomain.ru/newdir/newpage.htm 

redirections JavaScript

Ceci est où il n'y a pas de limite à la créativité et les possibilités "pour izgolyatsya". Les options de renvoi en JavaScript souvent mis en œuvre en utilisant la fonction setTimeout ( 'fonction', retard).

Par exemple, pour faire automatiquement Cliquez sur le bouton "Soumettre" forme "searchform" après 0,1 secondes après que le code est chargé:

  setTimeout (, 100 'document.forms [ "searchform"] Submit.click ().'); 

Sur le bouton "Envoyer", vous pouvez accrocher une action, par exemple, ouvrir une nouvelle URL dans la fenêtre. Par la façon dont ces redirections sont plus fréquents dans l'organisation de portes (DorWay) - le navigateur de l' utilisateur sera redirigé vers une autre page, et la recherche robot, qui "ne comprend pas" le JavaScript, indexe cette page inaccessible aux utilisateurs. Il dorveyschikov placer du texte bourré de "la droite" mots-clés.

Il suffit de rediriger vers une autre page - insérée après la balise <body> code JavaScript:

  location = "http://www.new.domain.ru"; 

ou

  document.location.href = "http://www.new.domain.ru"; 

ou

  window.location.reload ( "http://www.new.domain.ru"); 

ou

  document.location.replace ( "http://www.new.domain.ru"); 

Dans ce dernier cas, on ne peut plus revenir à la page, font des redirections, parce adresse de la page est effacée de l'histoire (et souvent nécessaire).

Si vous avez besoin d' un temps de retard, peut être organisé location = "http://www.new.domain.ru"; en fonction et l' insérer dans le setTimeout ( 'function ()', zaderzhka_v_milisek); .

Comme les différents moteurs de recherche peuvent traiter cette redirection, rester sur leur «conscience», donc aux fins décrites ici est préférable de ne pas appliquer. La plupart des navigateurs vont travailler une redirection comme prévu, et l'utilisateur peut afficher des informations supplémentaires pour une raison quelconque, il est déplacé vers une autre adresse.

En ce qui concerne le transfert de l'ancien PR du site (pages) à un nouveau, il peut prendre plusieurs semaines ou plusieurs mois, ne pas détruire l'ancien nom de domaine, un site ou une page, aussi longtemps que cela ne se produise pas.

redirection PHP

  <? Php
 header ( "HTTP / 1.1 301 Moved permanente");
 header ( "Location: http://www.newdomain.ru/newdir/newpage.htm");
 exit ();
 ?> 

ASP redirection

  <% @ Language = VBScript%>
 <% 
 Response.Status = "301 déplacé de façon permanente"
 Response.AddHeader "Location", "http://www.new-url.com"
 Response.End
 %> 

redirections ASP.NET

  <Script runat = "server">
 Page_Load private void (object sender, System.EventArgs e)
 {
 Response.Status = "301 déplacé de façon permanente";
 Response.AddHeader ( "Location", "http://www.new-url.com");
 }
 </ Script> 

redirections ColdFusion

  <.cfheader StatusCode = "301" statusText = "Déplacé de manière permanente">
 <.cfheader Nom = valeur "Localisation" = "http://www.new-url.com"> 

JSP (Java) redirection

  <%
 response.setStatus (301);
 response.setHeader ( "Location", "http://www.new-url.com/");
 response.setHeader ( "Connexion", "close");
 %> 

CGI PERL

  $ Q = new CGI;
 imprimer $ req-> redirect ( "http://www.new-url.com/"); 

Ruby on Rails

  def old_action
 têtes [ "Status"] = "301 déplacé de façon permanente"
 redirect_to "http://www.new-url.com/"
 fin

La mise en œuvre d'une redirection dans nginx

  if ($ host = 'www.domain.com') {
 réécrire ^ $ http (*.): //domain.com$1 permanent;
 } 

Guide des symboles et des abréviations utilisées

La ligne RewriteCond - règle RewriteRule condition d'exécution. Si la condition est remplie, il a déclenché une redirection.

Les règles peuvent être définies en utilisant des expressions régulières.

Les symboles spéciaux utilisés dans les règles et leurs valeurs.

  • ^ - Le début des chaînes de caractères spéciaux;
  • $ - Fin de ligne caractère spécial;
  • ! - Déni de caractère spécial;
  • . - Le point remplace tout caractère, mais un seul;
  • () - Groupement;
  • \ - Barre oblique "dépistage", le caractère suivant après qu'il est considéré comme caractère ordinaire, rien de spécial.

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

  • ? - Le symbole est répété 0 ou 1;
  • + - Répétée 1 à 65536 fois;
  • * - Est répété de 0 à 65536 fois.

Drapeaux mis ext. les options utilisées règles. Sont répertoriés entre crochets, séparés par des virgules, par exemple [NC] ou [R = 301, L].

  • NC - drapeau NOCASE désactive la vérification cas de caractères lorsque la règle est déclenchée.
  • R - Redirection drapeau, arrêter le processus produit des changements dans l'adresse URL, et renvoie le résultat. La valeur la plus couramment utilisée de R = 301, mais d'autres redirection temporaire (302, PROPOSE TEMPORAIRE).
  • L - drapeau dernière, arrête la formation de l'adresse URL et la chaîne est considérée comme définitive.

La syntaxe des expressions régulières

. - Le point remplace un caractère arbitraire.

[Abc] - représente une liste de caractères qui correspondent aux lettres a, b, ou c.

[^ Abc] - Liste des personnages, qui ne sont pas inclus dans la plage spécifiée. Récupère un caractère autre que a, b, ou c.

* - Cela signifie que le caractère précédent peut être répété (0 fois ou plus).

[Abc] * - l'équipe trouvera des caractères à partir d' un ensemble donné de suite.

[^ Abc] * - exactement le contraire.

. * - Remplace complètement un ensemble de caractères. "*." - Trouve toutes les occurrences entre les guillemets.

^ - Début de la ligne (dans ce cas, si elle est utilisée dans l'expression précoce).

$ - Indique la fin de la ligne.

\ W - lettres, des chiffres ou un trait de soulignement _.

\ D - correspond à un chiffre.

\ D - substitue à tous les symboles, mais ne pas comprendre.

[0-9] - remplace un chiffre.

[Az] - toute lettre de a à z (plein jeu de caractères latins) dans le registre inférieur.

[AZ] - toute lettre de A à Z en majuscules.

[A-zA-Z] - toute lettre de A à Z dans tous les cas.

[AZ] - la même chose.

Tout sur redirect

Mise en garde: Les matériaux pour cet article ont été pris dans les vastes étendues de l'Internet (RuNet et burzhunete) et l'expérience personnelle. Certains moments semblent controversés et maintenant testé dans la pratique, de sorte que les articles d'information seront complétées et affinées.
** En raison des rapports de plus en plus à propos de Google 302 Pagejacking, utilisez Redirection 301 et non 302 - ce sujet est en cours de développement.

Où avez le www?

Sur Internet, vous pouvez trouver beaucoup de conseils comme «unir» domain.ru et www.domain.ru. Mais en plus de la façon de le faire, il serait utile de comprendre un peu et aussi pourquoi. Il pourrait aider à choisir la solution appropriée de la modification proposée.

Tout d' abord, il est important de comprendre que www.domain.ru - techniquement identique sub.domain.ru, mais il existe une telle situation , pour une autre raison.

Il y a dix ou douze ans, le World Wide Web était juste une petite partie de l'Internet, et le PC le plus rapide a été basée sur la puce 386. Ils ne sont pas très rapides et ne pouvaient pas gérer la plus grande partie de la chaussure, ainsi, était la nécessité de placer les différents «côté» de l'Internet sur des machines séparées.

Par exemple, un serveur Apache hébergé sur le même ordinateur, le serveur de messagerie sur un autre, et le serveur FTP à un autre. Chaque rayon des ordinateurs sur l'adresse IP différente, mais pour le même nom de domaine. Dans ce nom de domaine des ordinateurs différenciés par fournit un service (ce qu'on appelait alors le «nom de la machine»). Ainsi, les noms des serveurs sur Internet ont commencé avec le "hostname" pour elle de fournir le service: www.domain.ru, mail.domain.ru et ftp.domain.ru. ( "Old-timers» de l'Internet, se souviendront de plus et une telle archaïque service comme gopher.domain.ru, il restait encore dans les paramètres IE).

Les ordinateurs d'aujourd'hui, bien sûr, est beaucoup plus puissant, et nous pouvons mettre toutes les différentes «parties» de nos services Internet dans la même «boîte» (Head & sholders principe - le «deux en un» a été appliqué bien avant apparition en masse des "pellicules" en russe :) .

En effet, nous installons souvent des centaines de domaines, chacun avec son propre ensemble de services (http, ftp, mail ...), sur le même serveur. Par conséquent, il est maintenant le préfixe www «antiquités» et peut être ignoré. Le problème est que beaucoup de répertoires de logiciels et de grandes (par exemple, Yahoo), est automatiquement remplacé par www.domain.ru, même si vous tapez domain.ru, plus de cela, nous avons plusieurs milliards de personnes qui impriment automatiquement tout nom au www domaine.

Cette excursion dans l' histoire, au moins, il est intéressant pour moi, mais la seule chose importante hors de lui - ce qui est techniquement www.domain.ru - tout comme sub.domain.ru - sont considérés comme des objets complètement différents domain.ru par rapport mais pour les raisons exposées ci - dessus, et habituellement www.domain.ru domain.ru habituellement doit démontrer la même page, à la différence sub.domain.ru.

Utilisateur (Surfer) ou un moteur de recherche (spider), sur demande de la page obtiendront le même 200 code de réponse OK, et la plupart ne seront pas capables de faire la différence entre les domaines avec www et sans elle.

Créer un alias (alias) pour www

Si quelqu'un crie, "Yuri!" dans une salle bondée, il va probablement attirer mon attention. Si quelqu'un crie "SAVILOV!" dans la même pièce, je vais répondre à cela aussi. Parce que ces deux noms, mais complètement différent, tous les points à la même personne. Simplifier un peu, on peut dire que le «jury» - essentiellement un alias (alias) pour "SAVILOV". Si quelqu'un dans la pièce approche et me appelle un "Oleg," Je vais probablement regarder autour de trouver le "Oleg" et spécifiez comme un fait que cette personne est à la recherche (si cela est quelqu'un pas si gentille personne, pour que je puisse mentir :) . "Yuri" et "Oleg" - deux noms différents qui pointent à deux personnes différentes, donc je besoin de transmettre la demande à la personne à laquelle il répondra selon sa demande. Dans 99,9% de toutes les configurations de serveur, domain.ru et point de www.domain.ru exactement au même endroit sur le disque. Tout le monde - juste un alias pour un autre. Utilisez le renvoi de se référer à l'un et l'espace disque a le même lavé, comme quand quelqu'un me plaît, "Yuri" et je dis: «Non, vous avez besoin d'un" SAVILOV, "Je suis."

Alias (alias) et expédition (Redirect), ne sont pas les mêmes, mais il est souvent possible de remplacer un autre. Créer un alias du tout est réalisé à deux niveaux. Au niveau du système de noms de domaine (DNS), nous avons toujours de créer une entrée pour chaque, généralement pour chaque CNAME, ou CNAME possible pour les primaires et l'entrée au secondaire. Si le domaine est considéré comme une adresse IP statique, il est - tout ce que nous devons faire pour créer un alias. La plupart d'entre nous, cependant, est le partage d'une adresse IP avec d'autres domaines, nous avons donc besoin de se déplacer au-delà des noms de domaine de niveau système (DNS) au niveau du serveur de réseau pour terminer la configuration de l'alias. Utilisation d' Apache, par exemple, pour créer un point d'entrée dans le fichier de configuration hpptd.conf

 ServerName domain.ru
 DocumentRoot / home / domain / www
 ServerAlias ​​www.domain.ru

Naturellement, il est nécessaire de relier le pré-www-pas la version avec www version via une entrée dans le serveur DNS comme:

Pour le domaine de niveau supérieur:

  DANS UN 192.xxx.xxx.xxx
 www DANS UN 192.xxx.xxx.xxx 

Pour info sous-domaine dans le domaine de niveau supérieur:

  infos DANS UN 192.xxx.xxx.xxx
 infos www.info CNAME 

Ceci est - tout ce qui doit être fait. Surfer et Spider, la marche ou domain.ru ou www.domain.ru obtenir exactement la même page. Notre problème, cependant, est que l'URL demandée n'a pas changé, et demandé la page de réponse 200 OK, si nous appelons un domaine avec ou sans www. Si le Surfer et il est généralement sans importance, il ne peut pas dire en relation avec le serveur de recherche (Araignée), ce qui devrait, au moins au début, pour traiter et domain.ru et www.domain.ru comme des entités distinctes, même que nous savons qu'ils - alias. Google - le premier moteur de recherche, qui est devenu difficile à utiliser deux filtres, et la logique nécessaire pour éventuellement «fusionner» domain.ru et www.domain.ru en un seul objet. Malheureusement, il y en a peu d'importance dans cette phrase le mot «éventuellement». Si vous utilisez les alias de système de nom de domaine (DNS) ou ServerAlias, Google finira par reconnaître et domain.ru www.domain.ru seule entité et affichera un seul site dans les SERP-e. Malheureusement, il faut généralement plusieurs mois, mais si vous changez fréquemment le contenu du site, puisque les indices Spider domain.ru/page.htm~~V~~plural~~3rd www.domain.ru/page.htm et à des moments différents - il obtiendrez différentes pages de contenu www et sans). Ensuite, ces quelques mois peuvent prendre un an ou plus.

Pourquoi devrait «unir» et domain.ru www.domain.ru?

De nombreux sites "sérieux" utilisent uniquement un domaine avec le préfixe www (comme la plupart des sites avec PR 10. Si vous essayez de faire appel à w3.org ou adobe.com, vous trouverez que votre navigateur sera immédiatement redirigé vers un site avec www. Cette pas seulement un surnom à cause de l' emplacement de votre navigation est réellement changé à un nouveau domaine www pense que Google se réfère normalement à elle, non seulement parce qu'il ya des sites "sérieux", mais Google lui - même fait (si vous ne me croyez pas -. Type google.com dans le navigateur). il est intéressant de noter que la plupart des sites "sérieux" utiliser la redirection (redirection) 302. Seuls quelques - uns, comme w3.org, retourner le code de statut 301. apparemment, le Google de rediriger les poignées aussi 301 et 302.

La seule chose, Google pour une raison quelconque est d' avis que le site devrait être avec le préfixe www: vous pouvez comparer les résultats de recherche Google pour le site narod.ru "museau" - la différence sera perceptible - sans le préfixe www, Google inclura la suite de l'émission de tous les sous - domaines. Mais comme il y a des précédents, lorsque le site sans www a PR supérieur à un site sans www, cela signifie que Google ne fait pas de discrimination contre tout autour.

Donc, au lieu de compter sur les alias et les filtres des moteurs de recherche (araignées), quelqu'un est venu avec l'idée géniale pour rediriger un alias à un autre nom, qui est essentiellement une redirection vers lui-même. Ceci est - une de ces choses, ce qui est fait dans principalement parce que les moteurs de recherche existent et devraient donc contribuer à éviter la fissuration des backlinks (backlinks). Cependant, il peut y avoir plus de raisons d'exiger le détournement obligatoire: que techniquement et http://mysite.ru/ http://www.mysite.ru/ sont divers sites Web, session de PHP ne peuvent pas être transférés d'un à l' autre. Ceci est une autre raison pour réécrire l'URL dans le navigateur en redirigeant un surnom (alias), surtout si vous avez un seul certificat SSL pour le www.mysite.ru de domaine ...

Options techniques redirigent

Maintenant , nous allons essayer de répondre à la question de savoir pourquoi les recommandations de la redirection de plus en plus offerts mod_rewrite et fichier .htaccess dans RedirectMatch (nécessitant des ressources de la machine spécifique pour les réaliser), et le moins - une solution plus simple. Pourquoi ne pouvons - nous pas éliminer toutes les expressions régulières complexes et il suffit d' ajouter à notre gamme .htaccess «Redirect 301 / http://www.domain.ru» (pour l' option hpptd.conf ci - dessus)? Depuis domain.ru et www.domain.ru - alias et pointent vers le même répertoire, toutes les directives de .htaccess dans ce catalogue seront applicables aux deux domaines. forwarding simples sur certaines plates-formes de serveur se traduira par un «cercle vicieux» et, finalement, - l'échec. Essayons un peu de changer la configuration du serveur:

 ServerName domain.ru
 DocumentRoot / home / domain / www
 ServerName www.domain.ru
 DocumentRoot / home / wwwdomain / www

Notez que dans cette configuration, domain.ru et www.domain.ru indiquent différents dossiers sur le serveur, et donc ne alias. Nous pouvons maintenant mettre le fichier .htaccess dans le répertoire / home / wwwdomain / www, sans rien toucher dans le dossier / home / domain / www et utiliser pour atteindre l'objectif d'une simple commande Redirect. Problème résolu, mais malheureusement, nous gaspillons un peu d'espace disque, de sorte que vous ne rencontre pas souvent cette configuration. Cependant, cette configuration vous offre une autre possibilité:

 ServerName domain.ru
 DocumentRoot / home / domain / www
 ServerName www.domain.ru
 Rediriger 301 / http://domain.ru/

Nous configurons encore domain.ru et www.domain.ru comme des éléments distincts (sans alias), mais au lieu de déterminer le DocumentRoot pour le second objet, nous avons mis une simple redirection. Nous évitons les conflits tente de rediriger l'alias, pas la créer. L'inconvénient de cette méthode - qu'il nécessite plus de travail pour l'administrateur de l'hôte. deux registres est nécessaire pour déterminer le bloc au lieu d'un, mais plus important encore, nous devons soutenir à la fois le bloc "à l'unisson." L'avantage - est que chaque demande de page unique faite à vos résultats de domaine dans une opération de lecture pour le fichier .htaccess et l' analyse. Maintenant , ajoutez toutes ces expressions régulières qui seront utilisées pour chaque demande de page, puis multiplier les 200 - 500 autres domaines vivant sur le serveur.

Divert placé dans le httpd.conf, ne nécessite pas de RegExp, et plus important encore lu et analysé une seule fois lorsque le serveur Apache est démarré. Ceci, à mon avis, la solution la plus élégante, parce évite la création d'alias, et minimise la charge sur le serveur.

Il reste à préciser: quel habile Redirect 301 ou 302? Comme indiqué ci - dessus, de nombreux sites «sérieux» utilisent en toute sécurité Redirect 302 à «fusionner» le domaine avec et sans www et Google vient d' accepter tranquillement elle. Mais pas le fait que de le faire et les autres moteurs de recherche. Pourtant, RFC n'a pas été annulé: le code "301" indique que la page est déplacée pour toujours - «déplacé de façon permanente», le code "302" - le mouvement temporaire «déplacé temporaire», donc l'utilisation du code devrait dépendre des fins de déplacer les pages. Il faut aussi comprendre que de nombreux navigateurs, obtenir la réponse "301 - déplacés de façon permanente», peut automatiquement reconfigurer le signet vers une nouvelle page. De même, le fait que le même Google, va rapidement passer PR pour rediriger déplacé à la page 302, le considérant comme «temporaire», jusqu'à ce que le "Looking Glass" les deux sites.

Redirection pour différents SE (moteurs de recherche):

En général, la redirection est perçue différemment par les différents moteurs de recherche. Si vous souhaitez rediriger isporlzovat pour "union" www-version du site avec une version non-www, garder à l'esprit les remarques suivantes.

Si votre site fait partie des liens installés sur le www, et d'autres comme sans www, alors vous êtes probablement intéressé par "association" liens de poids pour les deux versions du site en termes CY / PR et le classement de référence.

Redirection pour Yandex

Le fait que Yandex rassemble des liens vers les sites qu'il juge miroirs et rediriger avec site.ru www.site.ru pour empêcher l'accès à l'site.ru Yandex et donc il ne sera pas un miroir avec toutes ses conséquences. Par Yandex est nécessaire pour la liaison à la fois le nom du site était disponible (réponse «200 OK») et avait le même contenu.

En outre, il est nécessaire de déterminer la directive hôte du site miroir principal dans le fichier robots.txt, par exemple:

  User-agent: *
 
Disallow:

User-agent: Yandex
Disallow:
hôte: www.info.data-com.ru

* Host compétence rendre la directive dans une section distincte juste pour le robot Yandex (il y a des informations que Google ignore toute section dans laquelle il rencontre des directives incompréhensibles ou remplit correctement);
** Selon une norme robots.txt, dans chaque section du «User-agent:" il doit y avoir au moins une directive "Disallow:", donc dans l'exemple est "vide" directive n'interdit rien. Pour votre propre événement énumérer les limitations, le cas échéant.

Redirection vers Google

Google comprend normalement Redirect, au moins qu'on puisse en juger d'après une note récente Vanessa Fox dans Google Sitemaps blog officiel. Afin de ne pas perdre le texte intéressant, citer en entier:

Inside Google Sitemaps: En savoir plus sur le changement de domaine noms Votre source de nouvelles et de l' évolution des produits
En savoir plus sur la modification des noms de domaine
27/01/2006 09:27:00
Posté par Vanessa Fox, ingénieur Google

Récemment, quelqu'un m'a demandé de passer d' un domaine à un autre. Il avait lu que Google recommande d' utiliser une redirection 301
de laisser Googlebot connaître le mouvement, mais il ne savait pas s'il devait le faire. Il se demanda si Googlebot suivrait
301 sur le nouveau site, voir ce qu'il contenait le même contenu que les pages déjà indexées de l'ancien site, et
pense qu'il était contenu en double (et donc pas indexer). Il se demandait si une redirection 302 serait une meilleure option.

Je lui ai dit qu'une redirection 301 était exactement ce qu'il doit faire. Une redirection 302 dit Googlebot que le mouvement est temporaire
et que Google devrait continuer à indexer le vieux domaine. Une redirection 301 dit Googlebot que le mouvement est permanent et que
Google devrait commencer à indexer le nouveau domaine à la place . Googlebot ne verra pas le nouveau site comme un contenu en double, mais comme déplacé
contenu. Et c'est exactement ce que quelqu'un qui est en train de changer domaines veut.

Il a également demandé combien de temps il faudrait pour le nouveau site pour afficher les résultats de recherche Google. Il pensait qu'un nouveau site
pourrait prendre plus de temps à l' index de nouvelles pages d'un site existant. Je lui ai dit que s'il a remarqué que cela a pris un certain temps pour une nouvelle
site pour être indexé, il était généralement parce qu'il a fallu un certain temps pour Googlebot apprendre davantage sur le nouveau site. Googlebot apprend
de nouvelles pages à ramper en suivant les liens de d' autres pages et de Sitemaps. Si Googlebot sait déjà sur un site,
il trouve généralement au sujet de nouvelles pages sur ce site rapidement, puisque le site des liens vers les nouvelles pages.

Je lui ai dit qu'en utilisant un 301 pour rediriger Googlebot de l'ancien domaine vers le nouveau et en soumettant un plan Sitemap pour
le nouveau domaine, Googlebot pourrait beaucoup plus rapidement en apprendre davantage sur le nouveau domaine qu'il pourrait autrement. il
pourrait également permettre à d' autres sites qui pointent vers le connaissent au sujet du changement de domaine afin qu'ils puissent mettre à jour leurs liens.

Les processus d'exploration et d' indexation sont entièrement automatisés , donc je ne pouvais pas lui dire exactement quand le domaine commencerait
montrant dans les résultats. Mais en laissant Googlebot savoir sur le site ( en utilisant une redirection 301 et un site) est une importante première
étape dans ce processus.

Voici la traduction des parties les plus importantes du texte:

Récemment, quelqu'un - me demanda alors sur le déplacement c un domaine à un autre. Il a lu que Google recommande d'utiliser un Redirect 301 pour signaler Guglebotu sur le déplacement, mais il ne savait pas s'il devait le faire.

Je lui ai dit que Redirect 301, à savoir, qu'il devrait faire. Rediriger 302 Guglebotu dit que le mouvement est temporaire et que Google devrait continuer à l'index ancien domaine. Rediriger 301 Guglebot dit que le mouvement est régulier et que Google devrait commencer à indexer nouveau domaine. Guglebot rassamtrivat nouveau domaine ne sera pas comme un contenu en double et la façon dont le contenu est déplacé.
. . .
Guglebot apprend sur les nouvelles pages à indexer sur les liens provenant d'autres pages et de Sitemaps.
. . .

Voici un autre extrait de "Google Centre d' aide" dans le sujet 301 Redirect:

Mon URL changé, alors comment puis-je obtenir à Google d'indexer mon nouveau site?

Bien que nous ne pouvons pas modifier manuellement votre URL dans nos résultats de recherche, il y a des étapes que vous pouvez prendre pour vous assurer que votre transition
est lisse.
D'abord, vous pouvez rediriger les personnes vers votre nouveau site. Si vos anciennes URL de redirection vers votre nouveau site en utilisant HTTP 301 (permanente)
redirections, notre robot d'exploration permettra de découvrir les nouvelles URL.
. . .
annonces Google sont basés en partie sur notre capacité à vous trouver à partir de liens sur d'autres sites. Pour préserver votre rang, vous aurez envie
de dire aux autres qui pointent vers vous de votre changement d'adresse. Une façon de trouver un échantillonnage des sites qui pointent vers le vôtre est de
effectuer une recherche de lien.

Voici la traduction de ce fragment: -

"Bien que nous ne pouvons pas modifier manuellement votre URL dans nos résultats de recherche, il y a des étapes que vous pouvez prendre pour rendre votre transition en douceur. Tout d'abord, vous pouvez rediriger les gens vers votre nouveau domaine. Si votre ancienne URL de redirection vers votre nouveau domaine en utilisant HTTP 301, notre araignée trouve de nouvelles URL ";

- "Listes émission Google basée en partie sur la capacité de trouver un site pour des liens vers d'autres sites Web Pour enregistrer votre note, vous aurez envie de dire à ceux qui vous lie à votre changement d'adresse.".

Et enfin, une pièce plus importante de la "Google de l'aide Center" sur le sujet:

Pourquoi mon site ne dispose de deux listes différentes dans Google: http://site.com et http://www.site.com?

Si votre site apparaît comme deux listes différentes dans nos résultats de recherche, nous vous suggérons de consolider ces listes afin que nous puissions
déterminer plus précisément le PageRank de votre site. La meilleure façon de le faire est de rediriger votre http URL à votre www URL à l'aide
une redirection 301. Cela devrait résoudre la situation après notre robot d'exploration découvre le changement.
. . .
S'il vous plaît noter: en utilisant un fichier robots.txt et notre système de suppression automatique d'URL pour supprimer tout simplement la version http ou www de votre
site ne fonctionnera pas. Cela permettra d'éliminer les deux versions de 180 jours, et nous ne pouvons pas ajouter manuellement votre site retour à notre index.

ce qui implique que Google devrait rediriger de combiner PR sur 301 sites.

Faites attention à la note au dernier fragment. Vous ne pouvez pas supprimer la version non-www séparé ou www-version de l'index de Google - une fois que vous supprimez les deux versions de 180 jours.

épilogue

Pour vérifier le site de liaison par Yandex et "association" TCI applique une autre méthode (il fonctionne sur ce site depuis Mars 2006). Le site répond au nom avec www et sans www. Pages du site vérifier page HTTP_USER_AGENT est demandée, et si le robot Yandex - que les deux options de traitement sur le nom du site (avec ou sans www), il est donné une réponse «200 OK» et la page elle-même. Pour tous les autres, le site est uniquement disponible en www.info.data-com.ru, en se référant à info.data-com.ru fait Redirect 301 www.info.data-com.ru. Sur la même technologie intégrée méthode cloaking - lorsque les moteurs de recherche montrent une soderzhimove et les utilisateurs la page - plus. Cloaking est puni par les moteurs de recherche à l'exception du site à partir de leur index, et en conséquence - de l'émission.

Pour vérifier l'association de Google PR pour Redirect 301 est lui-même mis sur le site en Février 2006, et si RP www.info.data-com.ru info.data-com.ru et égalisé -. Ce fait peut être considéré comme yuudet confirmé. (Liens vers www.info.data-com.ru et info.data-com.ru mettent bas environ 50 à 50).

** Si vous décidez d'utiliser une redirection pour votre site - ne Rediriger 301, pas 302. Au moins jusqu'à ce que la situation devient plus claire avec Google 302 Pagejacking - Cet article est en cours de développement.