This page has been robot translated, sorry for typos if any. Original content here.

Redirects in htaccess und Skripten (301/302)

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

Fehler 301 (301 Permament Redirect) , der beim Zugriff auf eine bestimmte Seitenadresse zurückgegeben wird, bedeutet, dass die Site permanent an eine neue Adresse übertragen wurde, die auch im HTTP-Header angegeben ist. Sowohl Benutzer als auch Such-Bots, die über den Browser kommen, werden an die neue Adresse weitergeleitet, während für die Suchmaschinen alle Eigenschaften der alten Adresse (Seite) auf die neue URL übertragen werden.

Redirect 301 (dauerhaft verschoben) ist der beste Weg, um das Ranking einer Website in Suchmaschinen zu speichern, wenn sie in eine neue Domain übertragen oder das Content-Management-System geändert wird. Bei einer 301-Weiterleitung werden die alte und die neue Adresse zusammengeklebt: Parameter wie PageRank und TCI, sowie das Gewicht der Seite und das Referenzgewicht der alten Adresse werden auf die neue URL übertragen.

Im Folgenden finden Sie die am häufigsten verwendeten Regeln zum Konfigurieren der .htaccess-Datei für eine 301-Weiterleitung.

Внимание In den Regeln: % {QUERY_STRING} - bezeichnet ein Fragment der URL-Adresse hinter dem Fragezeichen (Einstellwerte für CGI-Parameter).

Внимание Das Auslösen einer Regel für eine Weiterleitung wird dadurch bestimmt, ob die URL der Seite unter diese Regel fällt oder nicht.

Внимание Die Bedeutung bestimmter Symbole (^, $, NC usw.) finden Sie im Memo unten auf der Seite .

Внимание Alle Regeln werden in direkter Reihenfolge in der .htaccess-Datei ausgeführt und die später geschriebene Regel wird später ausgeführt.

Внимание Es ist besser, alle Regeln nach zwei Zeilen zu platzieren:

  Optionen + FolgenSymLinks
 RewriteEngine Ein 

301 Umleitung von einer Domäne ohne WWW zu einer Domäne mit WWW-Präfix (der Hauptspiegel ist eine Domäne mit www)

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

Von einer Domäne mit einem WWW-Präfix bis zu Nein (der Hauptspiegel ist eine Domäne ohne www)

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

Standardumleitung von einer statischen Seite zu einer anderen

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

Gleichzeitig muss die neue Adresse komplett mit http und Domainname angegeben werden.

In einigen Fällen ist das Umleiten durch RewriteRule nützlich.

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

301 Redirect für eine Seite mit GET-Parametern

Nehmen wir an, die Seitenadresse sieht folgendermaßen aus: h ttp: //www.site.ru/dir/index.php? IBLOCK_ID = 1 & SECTION_ID = 111 Um 301 Weiterleitungen zu einer neuen Adresse zu konfigurieren, müssen Sie die folgende Regel verwenden:

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

Wenn einer (oder mehrere) der GET-Parameter nicht angegeben ist oder einen beliebigen Wert haben kann (in unserem Beispiel ist es SECTION_ID ), können Sie den folgenden Code verwenden:

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

301 redirect nur site.ru/index.php Adressen (ohne GET-Parameter) auf die Haupt site.ru Spiegel

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

301 Umleitung aller Adressen mit index.php und GET Parametern auf Seiten mit nur GET Parametern (in URL index.php einschneiden)

Beispiel: Geben Sie site.ru/index.php?n=1 on site.ru/?n=1 ein

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

301 Redirect URL mit GET-Parametern (dynamische URL) zu statisch

Option 1 (einfache Adresse mit GET-Parameter)

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

Option 2 (von Seite und GET-Parameter)

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

301 leitet für eine bestimmte Datei um, nicht einen ganzen Ordner

Wenn Sie die Weiterleitung nur für die Adresse http://www.site.ru/dir/ einrichten möchten, aber gleichzeitig die Seite http://www.site.ru/dir/index.php?IBLOCK_ID=1 an der alten Adresse öffnet, brauchen Sie Verwenden Sie das Sonderzeichen $ in der Regel.

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

Alle Seiten einer Domain auf der Hauptseite einer anderen Domain

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

Jede Seite einer Domain zur selben URL einer anderen Domain

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

Wie geht man mit Domains in der Zone der Russischen Föderation um?

Für Domains in der Zone der Russischen Föderation gelten dieselben Regeln, aber nur alle kyrillischen Zeichen müssen durch einen alternativen Code ersetzt werden (es ist in Latein). Insbesondere die Zone selbst. RF wird konvertiert in. xn - p1ai .

301 Redirect von Domain zu Domain

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

301 Redirect für eine Domain in der Zone der Russischen Föderation

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

Einstellung der Weiterleitung an Ordner mit einem Schrägstrich am Ende von / (am Ende einen Schrägstrich hinzufügen)

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

301 Umleitung von Seiten mit einem Schrägstrich ohne Schrägstrich (ganze Seite)

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

Umleitung auf Ordner ohne Schrägstrich setzen (den Schrägstrich am Ende entfernen)

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

301 Redirect von Seiten ohne Schrägstrich zu einem Schrägstrich (oft in CMS-Systemen wird es automatisch installiert)

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

Eine (und nicht zwei aufeinanderfolgende!) 301 Weiterleitung zu keinem www und mit einem Schrägstrich am Ende der Seitenadresse

  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] 

Eine (und nicht zwei aufeinanderfolgende!) 301 Weiterleitung an c www und mit einem Schrägstrich am Ende der Seitenadresse

  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] 

Eine (und nicht zwei aufeinanderfolgende!) 301 Umleitung nach c www und ohne Schrägstrich am Ende der Seitenadresse

  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] 

Eine (und nicht zwei aufeinanderfolgende!) 301 Weiterleitung an ohne www und ohne Schrägstrich am Ende der Seitenadresse

  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] 

301 Redirect von Domäne zu Ordner in einer anderen Domäne

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

Umleitung von allen Domain-Dateien mit Ausnahme des bitrix admin-Ordners

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

Leitet alle Dateien im Ordner an die angegebene Datei um

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

Leitet Dateien von einem angegebenen Ordner mit Ausnahme einer bestimmten Datei um

  RewriteRule ^ dir / keine-datei.html / no-datei-neu.html [L, R = 301]
 RewriteRule ^ dir (. *) $ /All.php [L, R = 301] 

Ändern Sie Seiten von HTML-Erweiterungen in PHP-Erweiterung

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

Festlegen des Typs der Indexseite (PHP, HTML, HTM und andere)

Gibt die Reihenfolge an, in der die Typen der Indexdatei geladen werden, die sich im Stammverzeichnis des Verzeichnisses befinden.

  Verzeichnisindex index.html index.php index.htm index.shtml 

Umleitung von der PHP-Indexseite zum Ordner selbst (root)

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

Umleitung von der Subdomäne zur primären Domäne der zweiten Ebene

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

Umleiten zu einer bestimmten Datei in verschiedenen Verzeichnissen (Ordnern)

Der Code ermöglicht es Ihnen, 301-Redirect aus allen Ordnern des Formulars http://site.ru/***/uniqe-file.html auf eine Datei im Stammverzeichnis /unique-file.html zu setzen. Es ist nützlich, wenn Sie die Site ändern und Links ändern.

  RewriteRule [^ abc] /eindeutige_datei.html /eindeutige_datei.html [R = 301, L] 

Wenn Sie eine NC-Kopie einer dynamischen Seite erstellen möchten, kann dies auch mit .htaccess implementiert werden

Mit dem Code können Sie eine Kopie der Seite mit der relativen Adresse /studio/news/detail.php?ID=230354&PAGEN_2=11 unter / testovyi / test / erstellen.

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

Angeben des Pfades zur 404-Fehlerdatei mit Hilfe von .htaccess

Achtung, es ist wichtig, dass der Server-Response-Code für den 404-Fehler genau 404 war. Der Pfad zur Datei wird mit der folgenden Zeile angegeben:

  ErrorDocument 404 /404-for-me.php 

Redirects auf dem Apache-Server

Внимание Bei Websites, die den Apache-Server nicht verwenden, können ähnliche 301-Weiterleitungen problemlos mit PHP konfiguriert werden.

  <? php
 header ("HTTP / 1.1 301 dauerhaft verschoben");
 Überschrift ("Location: http://www.site.ru/dir/");
 exit ();
 ?> 

Внимание Optimale Anpassung aller Weiterleitungen an die Zielseite (ohne zwischenzeitliche Weiterleitungen in einem Schritt) verbessert die Wahrnehmung durch die Suchmaschinen und Nutzer.

Wenn Sie eine Umleitung nur für einige USER_AGENTs einrichten möchten, jedoch nicht für alle Benutzer

  RewriteCond% {HTTP_USER_AGENT} (iPad | ipad | iphone | iPhone | ipod | iPod | android | mid | j2me | symbian | series | 60 | symbos | windows \ mobile | windows | ce | ppc | smartphone | blackberry | mtk | bada | Windows \ Telefon) [NC]
 RewriteRule (. *) Http://mobile.site.ru/ [L, R = 301] 

Wenn Sie eine Weiterleitung für alle Suchmaschinen einrichten möchten (eine Liste ihrer USER_AGENTs wird angezeigt)

  RewriteCond% {HTTP_USER_AGENT} | pagebull | roller | w3c_validator | stichsäge | webalta | yahoofeedseekhhhhhhhhhhhhyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyayushkyyyyyyyyyyyyuyyyyyyyyyyyoyo''' s Tapete!
 RewriteRule (. *) Http://no-search.site.ru/ [L, R = 301] 

Einige einfache Beispiele

  Umleitung von www.site.ru/component/content/?view=featured zu www.site.ru/
 RewriteCond% {QUERY_STRING} ^ view = Vorgestellt $ [NC]
 RewriteRule ^ Komponente / Inhalt /? $ /?  [R = 301, L] 
  Weiterleitung von www.site.ru/index.php?idc=4&marea=6 zu www.site.ru/
 RewriteCond% {QUERY_STRING} ^ idc = 4 & marea = 6 $ [NC]
 RewriteRule ^ Index \ .php $ /?  [R = 301, L] 

Entferne alle GET Parameter nach dem Fragezeichen (?)

  RewriteRule (. *) $ 1?  [R = 301, L]
 Position nach: RewriteBase / 

Die Site.ru-Hauptseite hat immer ihr vollständiges Duplikat unter site.ru/index.php

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

Or

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

Wenn Ihre Website mehrere Namen hat, die Benutzer jedoch immer den Hauptnamen der Website in der Adressleiste sehen sollen, verwenden Sie die folgenden Zeilen unmittelbar nach RewriteEngine On:

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

301 Umleitung zum Ende von .html (für diejenigen, die dieses Suffix enthalten haben) wird von site.ru/article und site.ru/article/ zu site.ru/article.html umleiten

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

Or

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

Umleitung von .html zu ohne .html, d. H. von site.ru/article.html zu site.ru/article (für diejenigen, die zuerst .html enthielten, und dann beschlossen, es loszuwerden)

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

Or

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

Redirect für Seiten mit Parametern, zum Beispiel von site.ru/blog?limitstart=0 zu site.ru/blog

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

Dass alle Seiten des alten Bereichs nur auf die gleichen Seiten des neuen Bereichs umgeleitet werden, zum Beispiel site.ru/blog/raznoe/article to site.ru/blog/article

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

301 Umleitung von der Adresse ohne Schrägstrich zu einem Schrägstrich, das heißt von site.ru/article zu site.ru/article/

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

Umleitung von Schrägstrich auf keinen Schrägstrich am Ende, d.h. von site.ru/article/ zu site.ru/article

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

Eine andere Möglichkeit besteht darin, den abschließenden Schrägstrich am Ende loszuwerden

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

Die Option zum Entfernen des Schrägstrichs für Seiten mit Parametern, z. B. Seiten mit Paginierung site.ru/categoriya?start=5/

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

Zuerst haben sie vergessen, SEO in die globalen Einstellungen einzubeziehen, und haben dann viele Dokumente im Index mit /index.php in die Adresse aufgenommen.

Nach dem gleichen Prinzip können Sie jede Verschachtelung entfernen, z. B. Umleitung von site.ru/ru/catalog zu site.ru/catalog (/ ru / wird entfernt).

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

Den Zugriff für schlechte Bots verweigern

  SetEnvIfNoCase Benutzer-Agent "^ Baiduspider" bad_bot
 SetEnvIfNoCase Benutzer-Agent "^ MSNBot" bad_bot
 SetEnvIfNoCase Benutzer-Agent "^ Baiduspider" bad_bot
 SetEnvIfNoCase User-Agent "^ Ezooms" bad_bot
 # setze die Liste selbst fort, gib den User Agent von schlechten Bots an
 Bestellung zulassen, verweigern
 Erlaube von allen
 Verweigern von env = bad_bot 

Oder robots.txt gibt für den Rest 404 (für den User-Agent - Baiduspider und Ezooms)

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

Verschiedene andere Möglichkeiten zum Redirect

Im Folgenden finden Sie ähnliche Einstellungsregeln für 301-Weiterleitungen.

Redirect mit einem Skript (Header senden)

Umleitungsanforderungen können auch mithilfe von Skripten ausgeführt werden, wobei die erforderlichen Header an den Client gesendet werden.

  HTTP / 1.1 301 Dauerhaft verschoben
 Ort: http://www.newdomain.ru/newdir/newpage.htm 

Javascript Umleitung

Hier gibt es keine Grenzen für Kreativität und die Möglichkeit, "izgolyatsya". JavaScript- Umleitungsoptionen werden häufiger mit der setTimeout- Funktion ('function', delay) implementiert.

Zum Beispiel, klicken Sie automatisch auf den "Senden" -Button des "Suchformulars" in 0.1 Sekunden nach dem Herunterladen des Codes:

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

Sie können jede Aktion auf die Schaltfläche "Senden" hängen, zum Beispiel eine neue URL in diesem Fenster öffnen. Übrigens sind solche Weiterleitungen in der Organisation von Doorways (DorWay) häufiger - der Browser des Benutzers wird auf eine andere Seite umgeleitet, und der Suchroboter, der JavaScript nicht "versteht", indiziert die ETA, die dem Benutzer nicht zur Verfügung steht. Darauf platzieren die Portalbauer Text, der mit den "notwendigen" Schlüsselwörtern gefüllt ist.

Einfach auf eine andere Seite umleiten - fügen Sie den JavaScript-Code nach <body> ein:

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

oder

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

oder

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

oder

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

Im letzteren Fall ist es unmöglich, zu der Seite zurückzukehren, die die Umleitung durchgeführt hat, da Die Seitenadresse wird aus dem Verlauf gelöscht (was oft erforderlich ist).

Wenn Sie eine Zeitverzögerung benötigen, können Sie location = "http://www.new.domain.ru"; in Form einer Funktion und fügen Sie es in setTimeout ('function ()', delay_in_milisek); .

Wie sich verschiedene Suchmaschinen auf eine solche Weiterleitung beziehen können, bleibt auf ihrem "Gewissen", so dass es für die hier beschriebenen Zwecke besser ist, sie nicht zu verwenden. Die meisten Browser werden diese Umleitung wie erwartet handhaben, während dem Benutzer zusätzliche Informationen angezeigt werden können, warum er zu einer anderen Adresse bewegt wird.

Da es einige Wochen oder Monate dauern kann, den PR einer alten Seite auf eine neue Seite zu übertragen, zerstören Sie nicht den alten Domainnamen, die Seite oder die Seite, bis dies geschieht.

PHP-Weiterleitung

  <? php
 header ("HTTP / 1.1 301 dauerhaft verschoben");
 header ("Ort: http://www.newdomain.ru/newdir/newpage.htm");
 exit ();
 ?> 

ASP-Weiterleitung

  <% @ Sprache = VBScript%>
 <% 
 Response.Status = "301 wurde dauerhaft verschoben"
 Response.AddHeader "Standort", "http://www.new-url.com"
 Antwort.End
 %> 

ASP.NET-Weiterleitung

  <Skript runat = "Server">
 private void Page_Load (Objektabsender, System.EventArgs e)
 {
 Response.Status = "301 dauerhaft verschoben";
 Response.AddHeader ("Standort", "http://www.new-url.com");
 }
 </ script> 

ColdFusion-Weiterleitung

  <.cfheader statuscode = "301" statustext = "Permanent verschoben">
 <.cfheader name = "Standort" value = "http://www.new-url.com"> 

JSP (Java) Weiterleitung

  <%
 response.setStatus (301);
 response.setHeader ("Standort", "http://www.new-url.com/");
 response.setHeader ("Verbindung", "Schließen");
 %> 

CGI PERL

  $ q = neues CGI;
 print $ q-> redirect ("http://www.new-url.com/"); 

Rubin auf Schienen

  def alte_Aktion
 headers ["Status"] = "301 dauerhaft verschoben"
 redirect_to "http://www.new-url.com/"
 Ende

Umleitung auf nginx

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

Notiz zu den verwendeten Symbolen und Symbolen

RewriteCond-Zeile ist eine Bedingung zum Ausführen einer RewriteRule-Regel. Wenn die Bedingung erfüllt ist, wird die Umleitung ausgelöst.

Regeln können mithilfe von regulären Ausdrücken festgelegt werden.

Sonderzeichen, die in den Regeln und ihren Bedeutungen verwendet werden.

  • ^ - Sonderzeichen des Zeilenanfangs;
  • $ - Sonderzeichen am Ende der Zeile;
  • ! - Sondercharakter der Negation;
  • . - Punkt, ersetzt jedes Zeichen, aber nur eines;
  • () - Gruppierung;
  • \ - "screening" slash, das nächste Zeichen nach dem es normal ist, und kein Sonderzeichen.

Modifikatoren werden nach den üblichen Sonderzeichen oder ihren Gruppen verwendet und erlauben Ihnen, die Möglichkeiten von Mustern zum Auslösen von Regeln zu erweitern.

  • ? - das Symbol wird 0 oder 1 Mal wiederholt;
  • + - wiederholt sich von 1 bis 65536 Mal;
  • * - Wiederholungen von 0 bis 65536 mal.

Fahnen, fragen Sie extra. Optionen für die zu verwendende Regel. In eckigen Klammern, getrennt durch Kommas, steht [NC] oder [R = 301, L].

  • NC - NoCase-Flag, das das Zeichenregister deaktiviert, wenn die Regel ausgelöst wird.
  • R - das Umleitungsflag, führt den Prozess zum Stoppen der URL-Änderung durch und gibt das Ergebnis zurück. Der am häufigsten verwendete Wert ist R = 301, aber andere sind für temporäre Umleitungen möglich (302, MOVED TEMPORARY).
  • L - Letztes Flag, hört auf URLs zu bilden und der String wird als final angesehen.

Syntax für reguläre Ausdrücke

. - Point ersetzt beliebiges Zeichen.

[abc] - gibt eine Liste der Zeichen an, die den Buchstaben a, b oder c entsprechen.

[^ abc] - Eine Liste von Zeichen, die nicht im angegebenen Bereich enthalten sind. Entspricht einem beliebigen Zeichen außer a, b oder c.

* - bedeutet, dass das vorhergehende Zeichen wiederholt werden kann (0 oder mehr Male).

[abc] * - der Befehl findet die Zeichen nacheinander aus der gegebenen Menge.

[^ abc] * - genau das Gegenteil.

. * - ersetzt absolut jeden Zeichensatz. ". *" - findet alle Teilstrings zwischen Anführungszeichen.

^ - der Anfang der Zeile (wenn am Anfang des Ausdrucks verwendet).

$ - markiert das Ende der Zeile.

\ w - Buchstabe, Zahl oder Unterstrich _.

\ d - ersetzt jede Ziffer.

\ D - ersetzt ein beliebiges Zeichen, aber keine Ziffer.

[0-9] - ersetzt jede Ziffer.

[az] - beliebiger Buchstabe von a bis z (der gesamte lateinische Zeichensatz) in Kleinbuchstaben.

[AZ] - jeder Buchstabe von A bis Z im Großbuchstaben.

[a-zA-Z] ist in jedem Fall ein beliebiger Buchstabe von a bis Z.

[aZ] - das Gleiche.

Alles über Redirect

Haftungsausschluss: Die Materialien für diesen Artikel wurden aus den weiten Weiten des Internets (Runet und Bourgeois) und persönlichen Erfahrungen entnommen. Einige Punkte scheinen kontrovers zu sein und werden nun in der Praxis getestet, so dass die Informationen des Artikels ergänzt und verfeinert werden.
** In Verbindung mit den häufigen Berichten über Google 302 Pagejacking verwenden Sie Redirect 301 und nicht 302 - dieses Thema befindet sich noch in der Entwicklung.

Woher kam dieses www?

Im Internet finden Sie viele Empfehlungen wie "merge" domain.ru und www.domain.ru. Aber abgesehen davon, wie dies zu tun ist, wäre es hilfreich, ein wenig auch warum zu verstehen. Dies würde helfen, die geeignete Lösung aus der vorgeschlagenen Sorte zu wählen.

Zunächst ist es wichtig zu verstehen, dass www.domain.ru technisch identisch ist mit subdomain.ru , obwohl dieser Sachverhalt aus einem ganz anderen Grund existiert.

Vor zehn oder zwölf Jahren war das World Wide Web nur ein kleiner Teil des Internets, und der schnellste PC basierte auf 386 Chips. Sie waren nicht sehr schnell und konnten die meisten Downloads nicht verarbeiten, so dass es notwendig war, verschiedene "Teile" des Internets auf separaten Rechnern zu platzieren.

Beispielsweise befand sich der Apache-Server auf einem Computer, der Mail-Server auf einem anderen und der FTP-Server auf einem anderen. Jeder der Computer reagierte auf eine andere IP-Adresse, aber auf den gleichen Domänennamen. Innerhalb dieses Domänennamens wurden Computer nach dem bereitgestellten Dienst unterschieden (was dann der "Computername" genannt wurde). So haben die Namen der Server im Internet mit dem "Maschinennamen" für den Dienst begonnen, der ihm zur Verfügung gestellt wird: www.domain.ru , mail.domain.ru und ftp.domain.ru . (Die "Oldtimer" des Internets, sie erinnern sich wahrscheinlich auch an so einen archaischen Dienst wie gopher.domain.ru , in den Einstellungen von IE bleibt es immer noch).

Die heutigen Computer sind natürlich viel leistungsfähiger, und wir können alle verschiedenen "Teile" unserer Internetdienste in derselben "Box" ablegen (das Prinzip von Head & Sholders - "Zwei in einer Flasche" wurde lange vor dem Massenauftreten von "Schuppen" angewandt) :) .

Tatsächlich haben wir oft mehrere hundert Domains mit jeweils eigenen Diensten (http, ftp, mail ...) auf demselben Server eingerichtet. Daher ist das www- Präfix gegenwärtig ein "antikes" und kann ignoriert werden. Das Problem ist, dass eine Menge Software und große Verzeichnisse (zum Beispiel Yahoo) automatisch www.domain.ru ersetzen , selbst wenn Sie domain.ru eingeben , plus haben wir mehrere Milliarden Menschen, die automatisch www vor jedem Namen eingeben Domäne

Diese Exkursion in die Geschichte, zumindest für mich, scheint interessant, aber das einzig wichtige daran ist, dass technisch www.domain.ru - genau wie sub.domain.ru - als völlig unterschiedliche Objekte in Bezug auf domain.ru betrachtet werden , aber aus den oben genannten Gründen müssen normalerweise www.domain.ru und domain.ru normalerweise dieselbe Seite anzeigen , im Gegensatz zu sub.domain.ru .

Der Benutzer (Surfer) oder die Suchmaschine (Spider) erhält beim Anfordern der Seite den gleichen 200 OK-Antwortcode und ist nicht in der Lage, die Domänen mit und ohne www zu unterscheiden .

Erstellen eines Alias ​​für www

Wenn jemand "Yuri!" Schreit in einem überfüllten Raum wird er wahrscheinlich meine Aufmerksamkeit erregen. Wenn jemand "Savilov" schreit! im selben Raum werde ich das auch beantworten. Weil diese zwei Namen, obwohl sie völlig verschieden sind, im Allgemeinen dieselbe Person anzeigen. Vereinfacht gesagt können wir sagen, dass "Yuri" im Wesentlichen ein Pseudonym (Alias) für "Saviles" ist. Wenn sich jemand in diesem Raum nähert und mich "Oleg" nennt, werde ich mich wahrscheinlich umsehen, "Oleg" finden und darauf hinweisen, wonach dieser Jemand sucht (wenn dieser jemand nicht dieser hübsche Mensch ist, also könnte ich lügen :) . "Yuri" und "Oleg" sind zwei verschiedene Namen, die auf zwei verschiedene Personen hindeuten, also muss ich die Anfrage der Person umleiten , wo er entsprechend seiner Bitte beantwortet wird. Bei 99,9% aller Serverkonfigurationen verweisen domain.ru und www.domain.ru genau auf den gleichen Speicherplatz. Jeder ist nur ein Pseudonym für einen anderen. Die Weiterleitung auf denselben Speicherplatz zu verwenden, hat die gleiche Bedeutung wie wenn jemand mich "Yuri" nennt und ich antworte: "Nein, du brauchst Saviles, ich bin's."

Alias und Redirect sind nicht gleich, obwohl es oft möglich ist, das eine durch das andere zu ersetzen. Die Erstellung eines Alias ​​erfolgt in der Regel auf zwei Ebenen. Auf der Domain-Name-System (DNS) -Ebene müssen wir immer einen Eintrag für jeden erstellen, normalerweise einen CNAME für jeden oder vielleicht einen CNAME für den primären und einen sekundären Eintrag. Wenn sich die fragliche Domäne auf einer statischen IP-Adresse befindet, müssen wir lediglich einen Alias ​​erstellen. Die meisten von uns teilen jedoch die IP-Adresse mit anderen Domains. Daher müssen wir über die Domain-Name-System (DNS) -Ebene hinaus auf die Netzwerk-Server-Ebene wechseln, um die Alias-Konfiguration abzuschließen. Erstellen Sie beispielsweise mit Apache einen Einstiegspunkt in der Konfigurationsdatei hpptd.conf

 ServerName domain.ru
 DocumentRoot / home / domäne / www
 ServerAlias ​​www.domain.ru

Natürlich müssen Sie zuerst eine Nicht-WWW-Version mit einer WWW-Version über einen Eintrag im DNS-Server verknüpfen:

Für Top-Level-Domain:

  IN A 192.xxx.xxx.xxx
 www IN A 192.xxx.xxx.xxx 

Für die Info-Subdomain in der Top-Level-Domain:

  info IN A 192.xxx.xxx.xxx
 www.info CNAME info 

Das ist alles, was getan werden muss. Surfer oder Spider, die entweder zu domain.ru oder www.domain.ru gehen, erhalten genau dieselben Seiten. Unser Problem ist jedoch, dass sich die angeforderte URL nicht ändert, und die angeforderte Seite antwortet mit 200 OK, unabhängig davon, ob wir mit oder ohne www auf die Domäne zugreifen. Wenn dies für Surfer im Allgemeinen indifferent ist, dann kann dies nicht in Bezug auf den Suchserver (Spider) gesagt werden, der zumindest domain.ru und www.domain.ru zumindest getrennt als eigenständige Objekte auch mit dass wir wissen, dass sie Pseudonyme sind. Google ist der erste Suchserver, der komplexe doppelte Filter und die notwendige Logik verwendet, um domain.ru und www.domain.ru zu einem einzigen Objekt zusammenzuführen. Leider gibt es in diesem Satz eine kleine Betonung des Wortes "letztlich". Wenn Sie das Domain Name System (DNS) oder ServerAlias-Aliase verwenden, erkennt Google domain.ru und www.domain.ru schließlich als eine Einheit und zeigt nur eine Site im SERP an. Leider dauert dies in der Regel mehrere Monate, und wenn Sie häufig den Inhalt der Website ändern, da die Spider-Indizes domain.ru/page.htm und www.domain.ru/page.htm zu unterschiedlichen Zeiten - es wird verschiedene Inhalt der Seiten von www erhalten und ohne). Dann können diese paar Monate ein Jahr oder länger dauern.

Warum muss ich domain.ru und www.domain.ru kombinieren?

Viele "seriöse" Websites verwenden nur die Domäne mit dem Präfix www (zum Beispiel die meisten Websites mit PR 10. Wenn Sie versuchen, auf w3.org oder adobe.com zuzugreifen, werden Sie sehen, dass Ihr Browser sofort auf die Website mit www . Weitergeleitet wird nicht nur ein Pseudonym, denn der Standort Ihrer Navigation ändert sich tatsächlich zu einer neuen Domain von www.Ich glaube, dass Google das normal behandelt, nicht nur weil "seriöse" Websites das tun, sondern Google selbst tut es (wenn Sie es nicht glauben, tippen Sie google.com im Browser.) Interessanterweise ist die Mehrheit der "ernsthaften" sa Es verwendet Forwarding (Redirect) 302. Nur wenige, wie w3.org, geben einen Statuscode von 301 zurück. Offenbar behandelt Google Redirect 301 und 302 auf die gleiche Weise.

Aus irgendeinem Grund glaubt Google aus irgendeinem Grund, dass die Website mit dem www- Präfix sein sollte: Sie können die Suchanfrage für den "Maulkorb" der Website narod.ru mit Google vergleichen - der Unterschied wird auffällig sein - ohne das www-Präfix, wird Google alle Subdomains in das Ergebnis einbeziehen. Aber da es Präzedenzfälle gibt, wenn eine Website ohne www eine höhere PR hat als eine Website ohne www, bedeutet dies, dass Google sie nicht alle diskriminiert.

Anstatt sich auf die Aliases und Filter der Suchmaschinen (Spiders) zu verlassen, kam jemand auf die Idee, einen Alias ​​auf einen anderen Alias ​​umzuleiten, der im Wesentlichen eine Weiterleitung an sich selbst ist. Dies ist eines der Dinge, die im Grunde genommen durchgeführt werden, weil CW-Suchmaschinen existieren und daher helfen sollten, Backlinks zu splitten. Es kann jedoch andere Gründe geben, die eine obligatorische Umleitung erforderlich machen: Da technisch http://mysite.ru/ und http://www.mysite.ru/ unterschiedliche Standorte sind, können PHP-Sitzungen nicht von einem zum anderen übertragen werden. Dies ist ein weiterer Grund dafür, die URL im Browser neu zu schreiben, indem Sie sie auf einen Alias ​​umleiten, insbesondere wenn Sie nur ein SSL-Zertifikat für die Domain www.mysite.ru haben ...

Redirect Technische Optionen

Nun wollen wir versuchen, die Frage zu beantworten, warum die Weiterleitungsempfehlungen oft mod_rewrite und RedirectMatch in der .htaccess- Datei vorschlagen (was bestimmte Maschinenressourcen für ihre Ausführung benötigt) und weniger oft eine einfachere Lösung. Warum können wir nicht alle komplexen regulären Ausdrücke entfernen und nur die Zeile "Redirect 301 / http://www.domain.ru" zu unserem .htaccess hinzufügen (für die hpptd.conf Option oben)? Da domain.ru und www.domain.ru Pseudonyme sind und auf dasselbe Verzeichnis verweisen, gelten alle .htaccess- Anweisungen in diesem Verzeichnis für BEIDE Domänen. Simple Forwarding führt auf einigen Serverplattformen zu einem "Teufelskreis" und letztlich zu einem Absturz. Lassen Sie uns versuchen, die Serverkonfiguration etwas zu ändern:

 ServerName domain.ru
 DocumentRoot / home / domäne / www
 ServerName www.domain.ru
 DocumentRoot / home / wwwdomain / www

Hinweis: In dieser Konfiguration verweisen domain.ru und www.domain.ru auf verschiedene Ordner auf dem Server und daher nicht auf Aliase. Wir können nun die .htaccess- Datei in den Ordner / home / wwwdomain / www legen, ohne etwas im Ordner / home / domain / www zu beeinträchtigen, und den einfacheren Befehl Redirect verwenden, um das Ziel zu erreichen. Das Problem ist gelöst, aber leider verschwenden wir ein wenig Speicherplatz, so dass Sie diese Konfiguration nicht oft finden. Diese Konfiguration bietet Ihnen jedoch eine andere Möglichkeit:

 ServerName domain.ru
 DocumentRoot / home / domäne / www
 ServerName www.domain.ru
 Weiterleitung 301 / http://domain.ru/

Wir konfigurieren domain.ru und www.domain.ru immer noch als separate Objekte (keine Aliase), aber anstatt das DocumentRoot für das zweite Objekt zu definieren, fügen wir eine einfache Umleitung ein . Wir vermeiden den Widerspruch, ein Pseudonym umzuleiten, ohne es zu schaffen. Der Nachteil dieser Methode ist, dass für den Host-Administrator mehr Arbeit erforderlich ist. Wir müssen zwei Blöcke von Datensätzen anstelle von einem definieren, aber noch wichtiger, wir müssen beide Blöcke "unisono" unterstützen. Der Vorteil besteht darin, dass jede einzelne Seitenanforderung, die an Ihre Domäne gesendet wird, zu einer Leseoperation für .htaccess führt und die Datei analysiert. Fügen Sie nun alle regulären Ausdrücke hinzu , die für jede einzelne Seitenanforderung verwendet werden, und multiplizieren Sie dann alle diese 200 - 500 anderen Domänen, die auf dem Server leben.

Die Umleitung, die in httpd.conf platziert wird, benötigt keine RegExp und, was noch wichtiger ist, sie wird nur EINMAL gelesen und geparst, wenn der Apache Server gestartet wird. Dies ist meiner Meinung nach die eleganteste Lösung seither vermeidet die Erstellung von Aliasen und minimiert die Serverlast.

Es bleibt die Frage zu klären: Was ist alphabetischer als Redirect 301 oder 302 ? Wie oben erwähnt, verwenden viele "seriöse" Sites Redirect 302 ruhig, um die Domain mit www und ohne zu "fusionieren", und Google akzeptiert es auch ruhig. Aber nicht die Tatsache, dass andere Suchmaschinen dasselbe tun werden. Dennoch wurde der RFC nicht abgebrochen: der Code "301" bedeutet, dass die Seite dauerhaft verschoben wurde - "permanent verschoben" , der Code "302 " bedeutet, dass die temporäre Verschiebung verschoben wurde , daher sollte die Verwendung des Codes vom Zweck des Verschiebens der Seite abhängig sein. Es sollte auch verstanden werden, dass viele Browser, die die Antwort "301 - permanent bewegt" erhalten, Lesezeichen automatisch zu einer neuen Seite neu konfigurieren können. Ebenso ist es keine Tatsache, dass derselbe Google den PR umgehend auf die von der Weiterleitung 302 verschobene Seite überträgt, was als "vorübergehend" gilt, bis beide Seiten gespiegelt sind.

Weiterleitung zu verschiedenen SE (Suchmaschinen):

Im Allgemeinen wird eine Weiterleitung von verschiedenen Suchmaschinen unterschiedlich wahrgenommen. Wenn Sie eine Weiterleitung verwenden möchten, um eine www-Version einer Site mit einer Nicht-www-Version zu "fusionieren", sollten Sie die folgenden Bemerkungen beachten.

Wenn auf Ihrer Website einige der Links als www und einige als nicht www festgelegt sind, dann sind Sie wahrscheinlich daran interessiert, die Gewichtung der Links zu beiden Versionen der Website in Bezug auf CYP / PR und Referenzrang zu "kombinieren".

Umleitung für Yandex

Tatsache ist, dass Yandex Links für Sites kombiniert, die er als Spiegel betrachtet, und eine Weiterleitung von site.ru zu www.site.ru verhindert, dass Yandex auf site.ru zugreift, und wird daher nicht als Spiegel mit allen daraus folgenden Konsequenzen betrachtet. Für das Splicen durch Yandex ist es notwendig, dass beide Site-Namen zugänglich sind (mit " 200 OK " beantwortet) und den gleichen Inhalt haben.

Darüber hinaus ist es erforderlich, den Hauptspiegel der Site mit der Anweisung Host in der Datei Robots.txt zu definieren, beispielsweise:

  User-Agent: *
 
Nicht zulassen:

Benutzer-Agent: Yandex
Nicht zulassen:
Gastgeber: www.info.data-com.ru

* Schreibweise Host-Anweisungen in einen separaten Abschnitt nur für einen Yandex-Roboter (es gibt Informationen, dass Google entweder einen Abschnitt ignoriert, in dem Anweisungen nicht verstanden werden, oder es nicht richtig funktioniert);
** Gemäß dem robots.txt-Standard muss in jedem Abschnitt des "User-agent:" mindestens eine "Disallow:" - Direktive vorhanden sein, so dass das Beispiel eine "leere" Direktive enthält, die nichts verbietet. Für Ihren Fall listen Sie gegebenenfalls Ihre eigenen Einschränkungen auf.

Umleitung für Google

Google versteht normalerweise Redirect, zumindest kann dies durch einen aktuellen Beitrag von Vanessa Fox im offiziellen Google Sitemaps Blog beurteilt werden. Um diesen interessanten Text nicht zu verlieren, zitiere ich ihn vollständig:

In Google Sitemaps:
Mehr über das Ändern von Domain-Namen
27.01.2006 09:27:00 Uhr
Gepostet von Vanessa Fox, Google Engineering

Kürzlich hat mich jemand gebeten, von einer Domain in eine andere zu wechseln. Er hatte gelesen, dass Google eine 301-Weiterleitung empfiehlt
um dich gehen zu lassen. Er fragte sich, ob Googlebot folgen würde
Der 301 zur neuen Seite, siehe
denke, es war doppelte Inhalte (und daher nicht indexieren). Er fragte sich, ob eine 302 Redirect eine bessere Option wäre.

Er sagte. Eine 302-Weiterleitung weist den Googlebot darauf hin, dass er sich bewegt
und dass Google die alte Domain weiter indexieren sollte. Eine 301-Weiterleitung weist den Googlebot an
Google sollte stattdessen mit der Indizierung der neuen Domain-Domain beginnen. Duplizieren Sie den Inhalt, aber wie verschoben
Inhalt. Und das ist es.

Er fragte sich auch, wie die Suchergebnisse aussahen. Er dachte, dass eine neue Seite
konnte nicht zur vorhandenen Site indiziert werden. Er für dich
Es ist keine Beerdigung. Googlebot erfährt davon
neue Seiten zum Crawlen von Sitemaps Wenn der Googlebot bereits eine Website kennt,
Es findet im Allgemeinen heraus, wie es online war.

Ich habe dir gesagt, dass du die Sitemap für verwenden sollst
Wenn du anders bist. Er
Wenn Sie wissen möchten, wie Sie sie verwenden können, können Sie sie verwenden.

Ich bin mir nicht sicher, wo ich anfangen soll
in den Ergebnissen auftauchen. Den Googlebot über die Website (mithilfe einer 301-Weiterleitung und einer Sitemap) zu informieren, ist jedoch eine wichtige Premiere
Schritt in diesem Prozess.

Hier ist eine Übersetzung der wichtigsten Teile dieses Textes:

Kürzlich hat mich jemand gefragt, wie man von einer Domain zur anderen wechselt. Er hat gelesen, dass Google Redirect 301 empfiehlt, Googlebot über den Umzug zu informieren, aber er war nicht sicher, ob er es tun sollte.

Ich sagte ihm, dass Redirect 301 genau das ist, was er tun sollte. Redirect 302 teilt dem Googlebot mit, dass der Umzug zeitlich begrenzt ist und dass Google die alte Domain weiterhin indexieren sollte. Redirect 301 teilt der Google Bank mit, dass der Umzug dauerhaft ist und dass Google mit der Indizierung der neuen Domain beginnen sollte. Der Googlebot wird die neue Domäne nicht als duplizierten Inhalt ansehen, sondern als übertragenen Inhalt.
. . .
Der Googlebot wird über neue Seiten für die Indexierung von Links von anderen Seiten und von Sitemaps informiert.
. . .

Hier ist ein weiteres Snippet aus der Google-Hilfe auf Redirect 301:

Meine URL wurde geändert.

Du kannst deinen Übergang nicht machen.
ist glatt.
Erstens können Sie Personen auf Ihre neue Website umleiten. Wenn Ihre alten URLs mit HTTP 301 (permanent) auf Ihre neue Website umgeleitet werden
Weiterleitungen findet unser Crawler die neuen URLs.
. . .
Erkenntnisse aus Links zu anderen Websites. Um deinen Rang zu bewahren, willst du
um deine Adresse zu ändern. Ein Weg, um dein herauszufinden
Führen Sie eine Link-Suche durch.

Hier ist die Übersetzung dieses Fragments: -

"Zwar können wir Ihre URL in unseren Suchergebnissen nicht manuell ändern, Sie können jedoch Schritte unternehmen, um den Übergang reibungslos zu gestalten. Zunächst können Sie Nutzer auf Ihre neue Domain umleiten. Wenn Ihre alten URLs auf Ihre neue Domain umgeleitet werden Mit HTTP 301 erkennt unser Spider neue URLs ";

- "Die Auswahllisten von Google basieren teilweise auf der Möglichkeit, eine Website über Links von anderen Websites zu finden. Um Ihr Ranking zu speichern, sollten Sie denjenigen, die mit Ihnen verlinkt sind, mitteilen, dass Sie Ihre Adresse geändert haben."

Und zu guter Letzt ein weiterer wichtiger Teil der Google-Hilfe zu diesem Thema:

Warum hat meine Website zwei verschiedene Einträge in Google: http://site.com und http://www.site.com?

Wir schlagen Ihnen vor
Bestimmen Sie den PageRank Ihrer Website genauer. Leiten Sie Ihre http-URL mithilfe von zu Ihrer www-URL um
eine 301 Weiterleitung. Crawler entdeckt die Änderung.
. . .
Bitte beachten Sie:
Website wird nicht funktionieren. Sie können Ihre Site nicht manuell zu unserem Index hinzufügen.

Daraus folgt, dass Google PR-Sites auf dem 301 Redirect kombinieren sollte.

Achten Sie auf die Anmerkung zum letzten Fragment. Sie können die Nicht-WWW-Version oder die WWW-Version nicht separat aus dem Google-Index entfernen. Sie werden beide Versionen 180 Tage lang auf einmal löschen.

Nachwort

Um die Verklebung der Website durch Yandex und die "Fusion" der TCI zu überprüfen, wurde eine andere Methode angewendet (sie wurde seit März 2006 auf dieser Site eingeführt). Die Website antwortet auf den Namen mit www und ohne www. Die Seiten der Website überprüfen das HTTP_USER_AGENT der anfragenden Seite, und wenn dies ein Yandex-Roboter ist, dann wird die Antwort an beide Verweise durch den Site-Namen (mit www und ohne) 200 OK und die Seite selbst gegeben. Für alle anderen ist die Website nur als www.info.data-com.ru verfügbar, beim Zugriff auf info.data-com.ru wird Redirect 301 auf www.info.data-com.ru gesetzt. Die Cloaking-Methode basiert auf der gleichen Technologie - wenn die Suchmaschinen einen Inhalt der Seite anzeigen und die Benutzer eine andere angezeigt werden. Cloaking wird von Suchmaschinen bestraft, indem die Seite von ihrem Index ausgeschlossen wird und dadurch ausgeht.

Um die Google PR-Zusammenführung über Redirect 301 zu überprüfen, wurde sie seit Februar 2006 auf dieser Website installiert. Wenn die RP www.info.data-com.ru und info.data-com.ru gleich sind, kann diese Tatsache als bestätigt gelten. (Links zu www.info.data-com.ru und info.data-com.ru sind etwa 50 bis 50).

** Wenn Sie sich dazu entschließen, eine Weiterleitung für Ihre Website zu verwenden, tun Sie Redirect 301 und nicht 302. Zumindest bis die Situation bei Google 302 Pagejacking aufhebt - dieser Artikel befindet sich noch in der Entwicklung.