Show Menu
THEMEN×

Menü "Regeln neu schreiben"

Verwenden Sie das Menü Regeln umschreiben, um Crawl- und Such-URL- und Titelregeln festzulegen.

URL-Regeln für Crawl-Listen-Store

Crawl-URL-Regeln geben an, wie die URLs, auf die sie in Webinhalten stoßen, umgeschrieben werden. Sie können eine unbegrenzte Anzahl von Regeln und Bedingungen angeben und einen beliebigen Teil der aufgetretenen URLs bearbeiten.
Crawl-Regeln sind am nützlichsten, um dynamische Teile einer URL umzuschreiben, z. B. eine Sitzungskennung, die für jeden Kunden, der Ihre Website besucht, eindeutig ist. Sie können auch Umformulierungsregeln verwenden, um Teile einer URL, z. B. Abfrageparameter, aus dem Suchroboter auszublenden. Standardmäßig werden keine Regeln angegeben und es wird keine URL-Umschreibung durchgeführt.
Während eine Website durchsucht wird, werden URLs für eingebetteten Inhalt in einer temporären Liste mit zusätzlichen zu durchsuchenden Webseiten gespeichert. Bevor dieser Liste eine URL hinzugefügt wird, werden die Regeln zum Umschreiben im Store darauf angewendet. Normalerweise werden Regeln zum Umschreiben von Speichern verwendet, um eine Sitzungs-ID aus einer URL zu entfernen oder um eine bestimmte Sitzungs-ID für das Crawling zu erzwingen. Wenn der Suchroboter eine URL aus der Liste abruft, werden die Retrieve-Umschreibungsregeln verwendet, um Teile dieser URL erneut zu manipulieren. Normalerweise werden die Abrufregeln verwendet, um zeitkritische Daten wieder in die URL einzufügen. Diese endgültige URL wird verwendet, um die Seite von Ihrer Website abzurufen.
Siehe Grundlagen zu URL-Regeln zum Abrufen der Crawl-Liste.
Normalerweise verwenden Sie ausschließlich Store-URL-Regeln. Abrufen von URL-Regeln ist nur erforderlich, wenn URLs dynamische Daten wie eine Sitzungs-ID enthalten und sich diese dynamischen Daten im Laufe der Zeit ändern, um gültig zu bleiben. In diesem Fall verwenden Sie Store-URL-Regeln, um den neuesten Status der Daten aus den aufgetretenen URLs abzurufen. Anschließend verwenden Sie die URL-Regeln zum Abrufen, um diese Daten jeder URL hinzuzufügen, wenn der Suchroboter versucht, die Seite abzurufen.
Jede Regel wird mit einer Rewrite-Regel-Direktive (RewriteRule) und einer oder mehreren optionalen Umschreibungsbedingungen (RewriteCond) angegeben. Die Reihenfolge der Regeln ist wichtig. Der Regelsatz wird durch Regel durchlaufen. Wenn eine Regel übereinstimmt, durchläuft sie alle entsprechenden Umschreibungsbedingungen. Eine Crawl-URL-Regel wird wie folgt angegeben:
RewriteCond TestString CondPattern [Flags] 
RewriteRule Pattern Substitution [Flags]

Wenn eine eingebettete URL gefunden wird, versucht der Suchroboter, die URL mit dem Muster jeder Crawl-Regel abzustimmen. Wenn das Muster übereinstimmt, sucht die Rewrite-Engine nach entsprechenden RewriteCond-Anweisungen. Wenn keine Bedingungen vorhanden sind, wird die URL durch einen neuen Wert ersetzt, der aus der Ersetzungszeichenfolge erstellt wurde, und fährt mit der nächsten Regel im Regelsatz fort. Wenn Bedingungen vorhanden sind, werden sie in der Reihenfolge verarbeitet, in der sie aufgelistet sind. Die rewrite-Engine versucht, ein Bedingungsmuster (CondPattern) mit einer Testzeichenfolge (TestString) abzugleichen. Wenn beide übereinstimmen, wird die nächste Bedingung verarbeitet, bis keine weiteren Bedingungen verfügbar sind. Wenn alle Bedingungen übereinstimmen, wird die URL durch die in der Regel angegebene Substitution ersetzt. Wenn die Bedingung nicht erfüllt ist, schlagen die vollständigen Bedingungen und die entsprechende Regel fehl.

Informationen zu RewriteRule-Direktiven

Eine RewriteRule-Direktive hat das folgende Formular:
           
<i>RewriteRule Pattern Substitution [Flags]</i> 
        

Pattern kann ein POSIX-regulärer Ausdruck sein, der auf die aktuelle URL angewendet wird. Die "aktuelle URL"kann von der ursprünglich angeforderten URL abweichen, da frühere Regeln möglicherweise bereits übereinstimmen und die URL geändert haben.
Das Zeichen "not"('!') kann nicht verwendet werden. , um dem Muster ein Präfix zu geben. Mit dem Zeichen "nicht"können Sie ein Muster umkehren, d. h. nur dann "true"haben, wenn die aktuelle URL diesem Muster NICHT entspricht. Das Zeichen "nicht"kann verwendet werden, wenn es besser ist, einem negativen Muster zu entsprechen, oder als endgültige Standardregel.
Sie können nicht sowohl das Zeichen "nicht"als auch die gruppierten Platzhalter in einem Muster verwenden. Außerdem können Sie kein negatives Muster verwenden, wenn die Ersatzzeichenfolge $N enthält.
Sie können Klammern verwenden, um einen Rückverweis im Muster zu erstellen, auf den durch Substitution und CondPattern verwiesen werden kann.
Substitution Die URL wird durch die Ersatzzeichenfolge ersetzt, die Folgendes enthält:
Text: Text, der unverändert weitergegeben wird.
Rückverweise bieten Zugriff auf die gruppierten Teile (in Klammern) des Musters oder des CondPatters. Die folgenden beiden Typen von Rückverweisen:
  • RewriteRule-Rückverweise Diese Übereinstimmungen entsprechen Rückverweisen im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0 <= N <= 9). Beispiel, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2.
  • RewriteCond-Rückverweise Diese Übereinstimmungsrückverweise im letzten übereinstimmenden RewriteCond-CondPattern und verwenden das Format %N (0 <= N <= 9).
Variablen: Dies sind Variablen des Formulars %, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen ist. Weitere Informationen zum Festlegen von Umgebungsvariablen finden Sie unter *[E]* Flag.
Funktionen: Dies sind Funktionen des Formulars $, wobei NAME_OF_FUNCTION die folgenden ist:
  • tolower macht alle Zeichen in Kleinbuchstaben .
  • toupper macht alle Zeichen in Großbuchstaben des Schlüssels .
  • escape-URL-kodiert alle Zeichen im Schlüssel .
  • Die Zeichen 'a'.z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@' und '_' bleiben unverändert. Leerzeichen werden in "+"übersetzt und alle anderen Zeichen in ihre %xx URL-kodierte Entsprechung umgewandelt.
  • unescape wandelt "+"zurück in den Leerraum und alle %xx URL-kodierten Zeichen zurück in einzelne Zeichen.
Es gibt eine spezielle Ersatzzeichenfolge: '-' das bedeutet "KEINE Substitution". Die '-' Zeichenfolge wird häufig mit dem Flag C (chain) verwendet, sodass Sie eine URL mehreren Mustern zuordnen können, bevor eine Ersetzung erfolgt.
Flags
(Optional) Schließen Sie Flags in Klammern ein [] . Mehrere Flags sind kommagetrennt.
Markierung
Beschreibung
'last|L'
Letzte Regel.
Stoppt den Umschreibungsprozess und wendet keine zusätzlichen Umschreibungsregeln an. Verwenden Sie dieses Flag, um eine weitere Verarbeitung der aktuellen URL zu verhindern.
'next|N'
Nächste Runde.
Führt den Umschreibungsprozess (beginnend mit der ersten Umschreibungsregel) unter Verwendung der URL der letzten Umschreibungsregel (nicht der ursprünglichen URL) aus. Achten Sie darauf, keine Deadloop zu erstellen!
'chain|C'
Verkettet mit der nächsten Regel.
Verkettet die aktuelle Regel mit der nächsten Regel (die auch mit der folgenden Regel verkettet werden kann usw.). Wenn eine Regel übereinstimmt, wird der Ersetzungsvorgang wie gewohnt fortgesetzt. Wenn die Regel nicht übereinstimmt, werden alle nachfolgenden verketteten Regeln übersprungen.
'nocase|NC'
Kein Fall.
Beim Muster wird nicht zwischen Groß- und Kleinschreibung unterschieden (d. h. es gibt keinen Unterschied zwischen "A-Z"und "a-z"), wenn das Muster mit der aktuellen URL übereinstimmt.
'skip|S=num'
Überspringen Sie die nächste Regel bzw. die nächsten Regeln.
Wenn die aktuelle Regel übereinstimmt, zwingt dieses Flag die Umschreibungs-Engine, die nächsten Num-Regeln im Regelsatz zu überspringen. Verwenden Sie dieses Flag, um pseudo if-then-else-Konstrukte zu erstellen. Die letzte Regel der then-Klausel wird zu einem skip=N, wobei N die Anzahl der Regeln in der else-Klausel ist.
Hinweis: Dieses Flag ist nicht das gleiche wie das "chain|C" Flag!)
'env|E=VAR:VAL'
Legt die Umgebungsvariable fest.
Erstellt eine Umgebungsvariable "VAR", die auf den Wert VAL eingestellt ist, wobei VAL reguläre Ausdrücke wie $N und %N enthalten kann, die erweitert werden. Sie können dieses Flag mehrmals verwenden, um mehrere Variablen festzulegen. Die Variablen können später in einem folgenden RewriteCond-Muster über %{VAR} dereferenziert werden.
Verwenden Sie dieses Flag, um Informationen aus URLs zu entfernen und zu speichern.
Die Regeln zum Umschreiben speichern und die Regeln zum Umschreiben abrufen haben gemeinsame Variablenwerte. Aufgrund dieses Verhaltens können Sie eine Variable auf einen zeitempfindlichen Sessionid-Wert setzen, wenn eine eingebettete URL gefunden und gespeichert wird. Wenn die nächste URL aus der Liste für temporäre Speicher abgerufen wird, kann der neueste Wert für sessionID hinzugefügt werden, bevor diese Seite abgerufen wird.
Beispiel einer RewriteRule mit einer Funktion
Angenommen, Sie verfügen über einen Server, der die Zeichenfolgen "www.mydomain.com" und "www.MyDomain.com" anders behandelt. Damit Ihr Server ordnungsgemäß funktioniert, stellen Sie sicher, dass die Domäne immer "www.mydomain.com" vorhanden ist, auch wenn einige Dokumente Links enthalten, die auf "www.MyDomain.com." Zu diesem Zweck verweisen. Sie können die folgende Regel verwenden:
RewriteRule  ^https:// 
<b>([^/]*)</b> 
<i>(.*)</i>$  https://${tolower:$1}$2

Diese Regel zum Umschreiben verwendet die Funktion tolower zum Umschreiben des Domänenteils einer URL, um sicherzustellen, dass er immer in Kleinbuchstaben wie im Folgenden dargestellt ist:
  1. Das Muster (^https://([^/]*)(.*)$) enthält einen Rückverweis, ([^/]*) der allen Zeichen zwischen https:// und dem ersten / in der URL entspricht. Das Muster enthält auch einen zweiten Rückverweis, (.*) der allen verbleibenden Zeichen in der URL entspricht.
  2. Die Substitution (https://${tolower:$1}$2) weist die Suchmaschine an, die URL umzuschreiben, indem sie die tolower Funktion beim ersten Rückverweis verwendet und den Rest der URL unverändert (https:// ${tolower:$1}$2) lässt (https://${tolower:$1} $2) .
So https://www.MyDomain.com/INTRO/index.Html wird eine URL des Formulars umgeschrieben als https://www.mydomain.com/INTRO/index.Html .

Informationen zu RewriteCond-Direktiven

Die RewriteCond-Direktive definiert eine Regelbedingung. Wenn eine RewriteCond einer RewriteRule vorangeht, wird die Regel nur verwendet, wenn ihr Muster mit dem aktuellen Titel übereinstimmt und die zusätzlichen Bedingungen gelten. Umformulierungsbedingungen haben die folgende Form:
           
<i>RewriteCond TestString CondPattern [Flags]</i> 
        

TestString ist eine Zeichenfolge, die die folgenden Konstrukte enthalten kann:
Text: Text, der unverändert weitergegeben wird.
Rückverweise bieten Zugriff auf die gruppierten Teile (in Klammern) des Musters oder des CondPatters. Die folgenden beiden Typen von Rückverweisen:
  • RewriteRule-Rückverweise Diese Übereinstimmungen entsprechen Rückverweisen im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0 <= N <= 9). Beispiel, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2 .
  • RewriteCond-Rückverweise Diese Übereinstimmungsrückverweise im letzten übereinstimmenden RewriteCond-CondPattern und verwenden das Format %N (0<= N <= 9).
Variablen: Dies sind Variablen des Formulars %, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Variablen finden Sie unter Umschreiben [E] von Regeln.
Funktionen: Dies sind Funktionen des Formulars $, wobei NAME_OF_FUNCTION die folgenden ist:
  • tolower macht alle Zeichen in Kleinbuchstaben .
  • toupper macht alle Zeichen in Großbuchstaben des Schlüssels .
  • escape-URL-kodiert alle Zeichen im Schlüssel. Die Zeichen 'a'.z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@' und '_' bleiben unverändert, Leerzeichen werden in '+' übersetzt und alle anderen Zeichen werden in ihre %xx URL-kodierte Entsprechung umgewandelt.
  • unescape wandelt "+"wieder in Leerzeichen um und alle %xx URL-Kodierungszeichen in einzelne Zeichen.
CondPattern ist ein standardmäßiger erweiterter regulärer Ausdruck mit einigen Ergänzungen. Der Musterzeichenfolge kann ein ! Zeichen (Ausrufezeichen) vorangestellt werden, um ein nicht übereinstimmendes Muster anzugeben. Statt Zeichenfolgen mit regulären Ausdrücken können Sie eine der folgenden Sondervarianten verwenden:
Sie können diesen Tests auch ein Ausrufezeichen ('!') voranstellen. ihre Bedeutung zu negieren.
CondPattern-Zeichenfolge
Beschreibung
'<CondPattern'
Lexisch weniger.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString. True, wenn TestString lexikalisch kleiner als CondPattern ist.
'>CondPattern'
Lexisch größer.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString. True, wenn TestString lexikalisch größer als CondPattern ist.
'=CondPattern'
Lexisch gleich.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString. True, wenn TestString wörtlich mit CondPattern identisch ist, d. h., die beiden Zeichenfolgen sind exakt gleich (Zeichen nach Zeichen). Wenn CondPattern nur "" (zwei Anführungszeichen) ist, wird TestString mit der leeren Zeichenfolge verglichen.
Flags (optional) Schließen Flags in Klammern ein [] . Mehrere Flags sind kommagetrennt.
Markierung
Beschreibung
'nocase|NC'
Kein Fall.
Durch dieses Flag wird die Groß-/Kleinschreibung des Tests nicht berücksichtigt, d. h. es gibt keinen Unterschied zwischen "A-Z"und "a-z"sowohl im erweiterten TestString als auch im CondPattern.
'ornext|OR'
Oder die nächste Bedingung.
Verwenden Sie dieses Flag, um Regelbedingungen mit einem lokalen ODER anstelle des impliziten UND zu kombinieren. Ohne dieses Flag müssten Sie die Konstante/Regel mehrmals schreiben.
Beispiel
Einige Webseiten weisen eine CGI-Variable "sessionid"zu, wenn ein Besucher zum ersten Mal auf eine Site gelangt. Diese Variable wird zur Identifizierung des Besuchers verwendet und beim Durchsuchen der Site wird die Variable weitergegeben. Da der Suchroboter wie ein Besucher Ihrer Site aussieht, wird ihm eine "sessionid"-Nummer zugewiesen. Der Suchroboter behält diesen einzelnen "sessionid"-Wert bei, selbst wenn eine zweite Site versucht, einen neuen Wert zuzuweisen. Um dies sicherzustellen, benötigen Sie zwei Umformulierungsregeln.
Die erste Regel dient zur Identifizierung und Speicherung der Variablen sessionid:
RewriteCond  %{sessionid}  !.+ 
RewriteRule  ^.+sessionid= 
<b>([^&#]+)</b>.*$  -   
<i>[E=sessionid:$1]</i>

Die RewriteRule verwendet ein E-Flag, ([E=sessionid:$1]) um der Variablen den aktuellen Wert des CGI-Parameters sessionid zuzuweisen sessionid . Der $1 Verweis bezieht sich auf den ersten Rückverweis, der zwischen dem ersten Satz von Klammern im RewriteRule-Muster enthalten ist ([^&#]+) .
Der reguläre Ausdruck ^&#]+ stimmt mit dem Teil einer URL zwischen dem Wort sessionid und dem nächsten **&**or**#** Zeichen überein. Da diese RewriteRule nur zum Erstellen des Ausgangswerts für die sessionid-Variable verwendet wird, wird keine Umschreibung durchgeführt. Beachten Sie, dass das Feld "Ersetzen"der Regel so eingestellt ist, - dass keine Umschreibung erforderlich ist.
RewriteCond untersucht die Variable sessionid ( %{sessionid} ). Wenn es nicht einmal ein einzelnes Zeichen (!+), dann stimmt RewriteRule überein.
Mithilfe dieser Regel wird die URL gelesen https://www.domain.com/home/?sessionid=1234&function=start und der Variablen 1234 der Wert zugewiesen sessionid .
Die zweite Regel wird zum Umschreiben aller URLs verwendet, die dem folgenden RewriteRule-Muster entsprechen:
RewriteRule   
<b>^(.+)</b>sessionid=[^&#]+ 
<i>(.*)$</i>  $1sessionid=%{sessionid}$2

Das RewriteRule-Muster enthält zwei Rückverweise: (.+) und (.*) . Der erste Rückverweis stimmt mit allen Zeichen vorher überein sessionid . Der zweite Rückverweis findet alle Zeichen nach dem Beenden & oder # .
Das Substitutionsmuster schreibt die URL mit dem ersten Rückverweis um, gefolgt von der Zeichenfolge "sessionid=", gefolgt vom Wert der durch die erste Regel definierten Sitzungs-ID-Variablen %{sessionid} und dem zweiten Rückverweis. ($1sessionid=%{sessionid} $2)
Beachten Sie, dass diese RewriteRule keinen RewriteCond enthält. Daher wird für alle URLs, die dem Regelmuster entsprechen, ein Umschreiben durchgeführt. Wenn also der Wert der sessionid-Variablen ( %{sessionid} ) 1234 ist, https://www.domain.com/products/?sessionid=5678&function=buy wird eine URL des Formulars wie folgt umgeschrieben: https://www.domain.com/products/?sessionid=1234&function=buy

Bestätigung

Die rewrite Engine Software wurde ursprünglich von der Apache Group für die Verwendung im Apache HTTP Server Projekt (https://www.apache.org/) entwickelt.

Hinzufügen einer URL-Regel zum Speichern einer Crawl-Liste

Sie können URL-Regeln zum Speichern von Crawl-Listen hinzufügen, um anzugeben, wie die URLs, auf die in Webinhalten gestoßen wird, umgeschrieben werden. Sie können eine unbegrenzte Anzahl von Regeln und Bedingungen angeben und einen beliebigen Teil der aufgetretenen URLs bearbeiten.
So fügen Sie Crawl-List Store-URL-Regeln hinzu
  1. Klicken Sie im Produktmenü auf Settings > Rewrite Rules > Crawl List Store URL Rules .
  2. Geben Sie in das Crawl List Store URL Rules Feld die gewünschten Regeln ein.
    Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig.
  3. (Optional) Geben Sie auf der Crawl List Store URL Rules Seite im Test Crawl List Store URL Rules Feld eine Test-URL ein, deren Crawl-Regeln Sie testen möchten, und klicken Sie dann auf Test .
  4. Klicken Sie auf Änderungen speichern .
  5. (Optional) Erstellen Sie Ihren Staged Site-Index neu, wenn Sie eine Vorschau der Ergebnisse anzeigen möchten.
  6. (Optional) Führen Sie auf der Crawl List Store URL Rules Seite einen der folgenden Schritte aus:

Grundlagen zu URL-Regeln für Crawl-Liste abrufen

Crawl-URL-Regeln geben an, wie die URLs, auf die in Webinhalten gestoßen wird, umgeschrieben werden. Sie können eine unbegrenzte Anzahl von Regeln und Bedingungen angeben und einen beliebigen Teil der aufgetretenen URLs bearbeiten.
Bevor die Auswirkungen der Regeln für Kunden sichtbar sind, stellen Sie sicher, dass Sie Ihren Site-Index neu erstellen.
Crawl-Regeln sind am nützlichsten, um dynamische Teile einer URL umzuschreiben, z. B. eine Sitzungskennung, die für jeden Kunden, der Ihre Website besucht, eindeutig ist. Sie können auch Umformulierungsregeln verwenden, um Teile einer URL, z. B. Abfrageparameter, aus dem Suchroboter auszublenden. Standardmäßig werden keine Regeln angegeben und es wird keine URL-Umschreibung durchgeführt.
Während eine Website durchsucht wird, werden URLs für eingebetteten Inhalt in einer temporären Liste mit zusätzlichen zu durchsuchenden Webseiten gespeichert. Wenn der Suchroboter eine URL aus der Liste abruft, werden die Regeln zum Umschreiben abrufen verwendet, um Teile dieser URL zu manipulieren. Normalerweise werden die Abrufregeln zum Einfügen zeitempfindlicher Daten in eine URL verwendet. Diese endgültige URL wird verwendet, um die Seite von Ihrer Website abzurufen.
Rückrufregeln sind nur erforderlich, wenn URLs dynamische Daten wie eine Sitzungs-ID enthalten und sich diese dynamischen Daten im Laufe der Zeit ändern, um gültig zu bleiben. In diesem Fall verwenden Sie Regeln zum Umschreiben speichern, um den neuesten Status der Daten aus den aufgetretenen URLs abzurufen. Anschließend verwenden Sie die Retrieve Rewrite Rules, um diese Daten jeder URL hinzuzufügen, wenn die Suchroboter die Seite abrufen.
Jede Regel wird mit einer Rewrite-Regel-Direktive (RewriteRule) und einer oder mehreren optionalen Umschreibungsbedingungen (RewriteCond) angegeben. Die Reihenfolge der Regeln ist wichtig. Der Regelsatz wird durch Regel durchlaufen. Wenn eine Regel übereinstimmt, durchläuft sie alle entsprechenden Umschreibungsbedingungen. Eine Crawl-URL-Regel wird wie folgt angegeben:
RewriteCond TestString CondPattern [Flags] 
RewriteRule Pattern Substitution [Flags]

Wenn eine eingebettete URL gefunden wird, versucht der Suchroboter, die URL mit dem Muster jeder Crawl-Regel abzustimmen. Wenn das Muster übereinstimmt, sucht die Rewrite-Engine nach entsprechenden RewriteCond-Anweisungen. Wenn keine Bedingungen vorhanden sind, wird die URL durch einen neuen Wert ersetzt, der aus der Ersetzungszeichenfolge erstellt wurde, und fährt mit der nächsten Regel im Regelsatz fort. Wenn Bedingungen vorhanden sind, werden sie in der Reihenfolge verarbeitet, in der sie aufgelistet sind. Die rewrite-Engine versucht, ein Bedingungsmuster (CondPattern) mit einer Testzeichenfolge (TestString) abzugleichen. Wenn beide übereinstimmen, wird die nächste Bedingung verarbeitet, bis keine weiteren Bedingungen verfügbar sind. Wenn alle Bedingungen übereinstimmen, wird die URL durch die in der Regel angegebene Substitution ersetzt. Wenn die Bedingung nicht erfüllt ist, schlagen die vollständigen Bedingungen und die entsprechende Regel fehl.

Informationen zu RewriteRule-Direktiven

Eine RewriteRule-Direktive hat das folgende Formular:
           
<i>RewriteRule Pattern Substitution [Flags]</i> 
        

Pattern kann ein POSIX-regulärer Ausdruck sein, der auf die aktuelle URL angewendet wird. Die "aktuelle URL"kann von der ursprünglich angeforderten URL abweichen, da frühere Regeln möglicherweise bereits übereinstimmen und die URL geändert haben.
Das Zeichen "not"('!') kann nicht verwendet werden. , um dem Muster ein Präfix zu geben. Mit dem Zeichen "nicht"können Sie ein Muster umkehren, d. h. nur dann "true"haben, wenn die aktuelle URL diesem Muster NICHT entspricht. Das Zeichen "nicht"kann verwendet werden, wenn es besser ist, einem negativen Muster zu entsprechen, oder als endgültige Standardregel.
Sie können nicht sowohl das Zeichen "nicht"als auch die gruppierten Platzhalter in einem Muster verwenden. Außerdem können Sie kein negatives Muster verwenden, wenn die Ersatzzeichenfolge $N enthält.
Sie können Klammern verwenden, um einen Rückverweis im Muster zu erstellen, auf den durch Substitution und CondPattern verwiesen werden kann.
Substitution Die URL wird durch die Ersatzzeichenfolge ersetzt, die Folgendes enthält:
Text: Text, der unverändert weitergegeben wird.
Rückverweise bieten Zugriff auf die gruppierten Teile (in Klammern) des Musters oder des CondPatters. Die folgenden beiden Typen von Rückverweisen:
  • RewriteRule-Rückverweise Diese Übereinstimmungen entsprechen Rückverweisen im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0 <= N <= 9). Beispiel, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2.
  • ** RewriteCond-Rückverweise** Diese Übereinstimmungsrückverweise im letzten übereinstimmenden RewriteCond-Muster und verwenden das Formular %N (0 <= N <= 9).
Variablen: Dies sind Variablen des Formulars %, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen ist. Weitere Informationen zum Festlegen von Umgebungsvariablen finden Sie unter # -Flag.
Funktionen: Dies sind Funktionen des Formulars $, wobei NAME_OF_FUNCTION die folgenden ist:
  • tolower macht alle Zeichen in Kleinbuchstaben .
  • toupper macht alle Zeichen in Großbuchstaben des Schlüssels .
  • escape-URL-kodiert alle Zeichen im Schlüssel .
  • Die Zeichen 'a'.z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@' und '_' bleiben unverändert. Leerzeichen werden in "+"übersetzt und alle anderen Zeichen in ihre %xx URL-kodierte Entsprechung umgewandelt.
  • unescape wandelt "+"zurück in den Leerraum und alle %xx URL-kodierten Zeichen zurück in einzelne Zeichen.
Es gibt eine spezielle Ersatzzeichenfolge: "-" bedeutet "KEINE Substitution". Die Zeichenfolge "-"wird häufig mit dem Flag "C"(chain) verwendet, sodass Sie eine URL mehreren Mustern zuordnen können, bevor eine Ersetzung erfolgt.
Flags
Markierung
Beschreibung
'last|L'
Letzte Regel.
Stoppt den Umschreibungsprozess und wendet keine zusätzlichen Umschreibungsregeln an. Verwenden Sie dieses Flag, um eine weitere Verarbeitung der aktuellen URL zu verhindern.
'next|N'
Nächste Runde.
Führt den Umschreibungsprozess (beginnend mit der ersten Umschreibungsregel) unter Verwendung der URL der letzten Umschreibungsregel (nicht der ursprünglichen URL) aus. Achten Sie darauf, keine Deadloop zu erstellen.
'chain|C'
Verkettet mit der nächsten Regel.
Verkettet die aktuelle Regel mit der nächsten Regel (die auch mit der folgenden Regel verkettet werden kann usw.). Wenn eine Regel übereinstimmt, wird der Ersetzungsvorgang wie gewohnt fortgesetzt. Wenn die Regel nicht übereinstimmt, werden alle nachfolgenden verketteten Regeln übersprungen.
'nocase|NC'
Kein Fall.
Beim Muster wird nicht zwischen Groß- und Kleinschreibung unterschieden (d. h. es gibt keinen Unterschied zwischen "A-Z"und "a-z"), wenn das Muster mit der aktuellen URL übereinstimmt.
'skip|S=num'
Überspringen Sie die nächste Regel bzw. die nächsten Regeln.
Wenn die aktuelle Regel übereinstimmt, zwingt dieses Flag die Umschreibungs-Engine, die nächsten Num-Regeln im Regelsatz zu überspringen. Verwenden Sie dieses Flag, um pseudo if-then-else-Konstrukte zu erstellen. Die letzte Regel der then-Klausel wird zu einem skip=N, wobei N die Anzahl der Regeln in der else-Klausel ist.
Hinweis: Dieses Flag ist nicht das gleiche wie das "chain|C" Flag!)
'env|E=VAR:VAL'
Legt die Umgebungsvariable fest.
Erstellt eine Umgebungsvariable "VAR", die auf den Wert VAL eingestellt ist, wobei VAL reguläre Ausdrücke wie $N und %N enthalten kann, die erweitert werden. Sie können dieses Flag mehrmals verwenden, um mehrere Variablen festzulegen. Die Variablen können später in einem folgenden RewriteCond-Muster über %{VAR} dereferenziert werden.
Verwenden Sie dieses Flag, um Informationen aus URLs zu entfernen und zu speichern.
Die Regeln zum Umschreiben speichern und die Regeln zum Umschreiben abrufen haben gemeinsame Variablenwerte. Aufgrund dieses Verhaltens können Sie eine Variable auf einen zeitempfindlichen Sessionid-Wert setzen, wenn eine eingebettete URL gefunden und gespeichert wird. Wenn die nächste URL aus der Liste für temporäre Speicher abgerufen wird, kann der neueste Wert für sessionID hinzugefügt werden, bevor diese Seite abgerufen wird.
Beispiel einer RewriteRule mit einer Funktion
Angenommen, Sie haben einen Server, der die Groß- und Kleinschreibung berücksichtigt, der die Zeichenfolgen "www.mydomain.com"und "www.MyDomain.com"anders verarbeitet. Damit Ihr Server ordnungsgemäß funktioniert, müssen Sie sicherstellen, dass die Domäne immer "www.mydomain.com"lautet, auch wenn einige Dokumente Links mit Verweis auf "www.MyDomain.com"enthalten. Dazu können Sie die folgende Regel verwenden:
RewriteRule  ^https:// 
<b>([^/]*)</b> 
<i>(.*)</i>$  https://${tolower:$1}$2

Diese Regel zum Umschreiben verwendet die Funktion tolower zum Umschreiben des Domänenteils einer URL, um sicherzustellen, dass er immer in Kleinbuchstaben wie im Folgenden dargestellt ist:
  1. Das Muster (^https://([^/]*)(.*)$) enthält einen Rückverweis ** ([^/]*) **, der alle Zeichen zwischen https:// und dem ersten / in der URL abgleicht. Das Muster enthält auch einen zweiten Rückverweis, (.*) der allen verbleibenden Zeichen in der URL entspricht.
  2. Die Substitution (https://${tolower:$1}$2) weist die Suchmaschine an, die URL umzuschreiben, indem sie die tolower Funktion beim ersten Rückverweis verwendet und den Rest der URL unverändert (https:// ${tolower:$1}$2) lässt (https://${tolower:$1} $2) .
So https://www.MyDomain.com/INTRO/index.Html wird eine URL des Formulars umgeschrieben als https://www.mydomain.com/INTRO/index.Html .

Informationen zu RewriteCond-Direktiven

Die RewriteCond-Direktive definiert eine Regelbedingung. Wenn eine RewriteCond einer RewriteRule vorangeht, wird die Regel nur verwendet, wenn ihr Muster mit dem aktuellen Titel übereinstimmt und die zusätzlichen Bedingungen gelten. Umformulierungsbedingungen haben die folgende Form:
           
<i>RewriteCond TestString CondPattern [Flags]</i> 
        

TestString ist eine Zeichenfolge, die die folgenden Konstrukte enthalten kann:
Text: Text, der unverändert weitergegeben wird.
Rückverweise bieten Zugriff auf die gruppierten Teile (in Klammern) des Musters oder des CondPatters. Die folgenden beiden Typen von Rückverweisen:
  • RewriteRule-Rückverweise Diese Übereinstimmungen entsprechen Rückverweisen im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0 <= N <= 9). Beispiel, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2 .
  • RewriteCond-Rückverweise Diese Übereinstimmungsrückverweise im letzten übereinstimmenden RewriteCond-CondPattern und verwenden das Format %N (0<= N <= 9).
Variablen: Dies sind Variablen des Formulars %, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Variablen finden Sie unter Umschreiben [E] von Regeln.
Funktionen: Dies sind Funktionen des Formulars $, wobei NAME_OF_FUNCTION die folgenden ist:
  • tolower macht alle Zeichen in Kleinbuchstaben .
  • toupper macht alle Zeichen in Großbuchstaben des Schlüssels .
  • escape-URL-kodiert alle Zeichen im Schlüssel. Die Zeichen 'a'.z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@' und '_' bleiben unverändert, Leerzeichen werden in '+' übersetzt und alle anderen Zeichen werden in ihre %xx URL-kodierte Entsprechung umgewandelt.
  • unescape wandelt "+"zurück in den Leerraum und alle %xx URL-Kodierungszeichen zurück in einzelne Zeichen.
CondPattern ist ein standardmäßiger erweiterter regulärer Ausdruck mit einigen Ergänzungen. Der Musterzeichenfolge kann ein '!' vorangestellt werden -Zeichen (Ausrufezeichen), um ein nicht übereinstimmendes Muster anzugeben. Statt Zeichenfolgen mit regulären Ausdrücken können Sie eine der folgenden Sondervarianten verwenden:
Sie können diesen Tests auch ein Ausrufezeichen ('!') voranstellen. ihre Bedeutung zu negieren.
CondPattern-Zeichenfolge
Beschreibung
'<CondPattern'
Lexisch weniger.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString. True, wenn TestString lexikalisch kleiner als CondPattern ist.
'>CondPattern'
Lexisch größer.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString. True, wenn TestString lexikalisch größer als CondPattern ist.
'=CondPattern'
Lexisch gleich.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString. True, wenn TestString wörtlich mit CondPattern identisch ist, d. h., die beiden Zeichenfolgen sind exakt gleich (Zeichen nach Zeichen). Wenn CondPattern nur "" (zwei Anführungszeichen) ist, wird TestString mit der leeren Zeichenfolge verglichen.
Flags (optional) Schließen Flags in Klammern ein [] . Mehrere Flags sind kommagetrennt.
Markierung
Beschreibung
'nocase|NC'
Kein Fall.
Durch dieses Flag wird die Groß-/Kleinschreibung des Tests nicht berücksichtigt, d. h. es gibt keinen Unterschied zwischen "A-Z"und "a-z"sowohl im erweiterten TestString als auch im CondPattern.
'ornext|OR'
Oder die nächste Bedingung.
Verwenden Sie dieses Flag, um Regelbedingungen mit einem lokalen ODER anstelle des impliziten UND zu kombinieren. Ohne dieses Flag müssten Sie die Konstante/Regel mehrmals schreiben.
Beispiel
Einige Webseiten weisen eine CGI-Variable "sessionid"zu, wenn ein Besucher zum ersten Mal auf eine Site gelangt. Diese Variable wird zur Identifizierung des Besuchers verwendet und beim Durchsuchen der Site wird die Variable weitergegeben. Da der Suchroboter wie ein Besucher Ihrer Site aussieht, wird ihm eine "sessionid"-Nummer zugewiesen. Der Suchroboter behält diesen einzelnen "sessionid"-Wert bei, selbst wenn eine zweite Site versucht, einen neuen Wert zuzuweisen. Um dies sicherzustellen, benötigen Sie zwei Umformulierungsregeln.
Die erste Regel dient zur Identifizierung und Speicherung der Variablen sessionid:
RewriteCond  %{sessionid}  !.+ 
RewriteRule  ^.+sessionid= 
<b>([^&#]+)</b>.*$  -   
<i>[E=sessionid:$1]</i>

Die RewriteRule verwendet ein E-Flag, ([E=sessionid:$1]) um der Variablen den aktuellen Wert des CGI-Parameters sessionid zuzuweisen sessionid . Der $1 Verweis bezieht sich auf den ersten Rückverweis, der zwischen dem ersten Satz von Klammern im RewriteRule-Muster enthalten ist ([^&#]+) .
Der reguläre Ausdruck ^&#]+ entspricht dem Teil einer URL zwischen dem Wort sessionid und dem nächsten**& oder #**Zeichen. Da diese RewriteRule nur zum Erstellen des Ausgangswerts für die sessionid-Variable verwendet wird, wird keine Umschreibung durchgeführt. Beachten Sie, dass das Feld "Ersetzen"der Regel so eingestellt ist, - dass keine Umschreibung erforderlich ist.
RewriteCond untersucht die Variable sessionid ( %{sessionid} ). Wenn es nicht einmal ein einzelnes Zeichen (!+), dann stimmt RewriteRule überein.
Mithilfe dieser Regel wird die URL gelesen https://www.domain.com/home/?sessionid=1234&function=start und der Variablen 1234 der Wert zugewiesen sessionid .
Die zweite Regel wird zum Umschreiben aller URLs verwendet, die dem folgenden RewriteRule-Muster entsprechen:
RewriteRule   
<b>^(.+)</b>sessionid=[^&#]+ 
<i>(.*)$</i>  $1sessionid=%{sessionid}$2

Das RewriteRule-Muster enthält zwei Rückverweise: (.+) und (.*) . Der erste Rückverweis stimmt mit allen Zeichen vorher überein sessionid . Der zweite Rückverweis findet alle Zeichen nach dem Beenden & oder # .
Das Substitutionsmuster schreibt die URL mit dem ersten Rückverweis um, gefolgt von der Zeichenfolge "sessionid=", gefolgt vom Wert der durch die erste Regel definierten Sitzungs-ID-Variablen %{sessionid} und dem zweiten Rückverweis. ($1sessionid=%{sessionid} $2)
Beachten Sie, dass diese RewriteRule keinen RewriteCond enthält. Daher wird für alle URLs, die dem Regelmuster entsprechen, ein Umschreiben durchgeführt. Wenn also der Wert der sessionid-Variablen ( %{sessionid} ) 1234 ist, https://www.domain.com/products/?sessionid=5678&function=buy wird eine URL des Formulars wie folgt umgeschrieben: https://www.domain.com/products/?sessionid=1234&function=buy

Bestätigung

Die rewrite Engine Software wurde ursprünglich von der Apache Group für die Verwendung im Apache HTTP Server Projekt (https://www.apache.org/) entwickelt.

Hinzufügen einer Crawl-Liste URL-Regeln abrufen

Sie können URL-Regeln zum Abrufen von Crawl-Listen hinzufügen, um anzugeben, wie aufgetretene URLs in Webinhalten umgeschrieben werden. Rückrufregeln sind nur erforderlich, wenn URLs dynamische Daten wie eine Sitzungs-ID enthalten und sich diese dynamischen Daten im Laufe der Zeit ändern, um gültig zu bleiben.
So fügen Sie Crawl-Liste URL-Regeln ein
  1. Klicken Sie im Produktmenü auf Settings > Rewrite Rules > Crawl List Retrieve URL Rules .
  2. Geben Sie in das Crawl List Retrieve URL Rules Feld die gewünschten Regeln ein.
    Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig.
  3. (Optional) Geben Sie auf der Crawl List Retrieve URL Rules Seite im Test Crawl List Retrieve URL Rules Feld eine Test-URL ein, deren Crawl-Regeln Sie testen möchten, und klicken Sie dann auf Test .
  4. Klicken Sie auf Änderungen speichern .
  5. (Optional) Erstellen Sie Ihren Staged Site-Index neu, wenn Sie eine Vorschau der Ergebnisse anzeigen möchten.
  6. (Optional) Führen Sie auf der Crawl List Retrieve URL Rules Seite einen der folgenden Schritte aus:

Grundlagen zu Crawl-Titelregeln

Die Regeln für Crawl-Titel geben an, wie getragene Titel in Webinhalten umgeschrieben werden, bevor sie im Suchindex gespeichert werden.
Beispielsweise können Sie mit einer Regel zum Umschreiben einen Teil eines Titels entfernen, z. B. einen Unternehmensnamen. Während eine Website durchsucht wird, werden getragene Titel in einem temporären Puffer gespeichert. Bevor diesem Puffer jedoch ein Titel hinzugefügt wird, werden die Titelregeln darauf angewendet. Standardmäßig enthält die Site-Suche/das Merchandising keine Crawl-Titelregeln und nimmt keine Änderungen am Titel vor.
Bevor die Auswirkungen der Regeln für Kunden sichtbar sind, erstellen Sie Ihren Site-Index neu.
Mit der Verlaufsfunktion können Sie Änderungen an Crawl Title Rules schnell wiederherstellen.
Regeln können aus zwei Hauptelementen bestehen: die RewriteRule und die optionale RewriteCond. Sie können eine unbegrenzte Anzahl von Regeln und Bedingungen angeben. Die Reihenfolge dieser Regeln ist wichtig, da der Regelsatz durch Regel durchlaufen wird. Wenn eine Regel übereinstimmt, durchläuft sie alle (optionalen) entsprechenden Umschreibungsbedingungen. Crawl-URL-Regeln werden wie folgt festgelegt:
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i> 
 
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Wenn ein Titel gefunden wird, versucht der Suchroboter, den Titel dem Muster jeder Crawl-Regel zuzuordnen. Wenn das Muster übereinstimmt, sucht die Rewrite-Engine nach entsprechenden RewriteCond-Anweisungen. Wenn keine Bedingungen vorhanden sind, wird die URL durch einen neuen Wert ersetzt, der aus der Ersetzungszeichenfolge erstellt wurde, und fährt mit der nächsten Regel im Regelsatz fort. Wenn Bedingungen vorhanden sind, werden sie in der Reihenfolge verarbeitet, in der sie aufgelistet sind. Die rewrite-Engine versucht, ein Bedingungsmuster (CondPattern) mit einer Testzeichenfolge (TestString) abzugleichen. Wenn beide übereinstimmen, wird die nächste Bedingung verarbeitet, bis keine weiteren Bedingungen verfügbar sind. Wenn alle Bedingungen übereinstimmen, wird die URL durch die in der Regel angegebene Substitution ersetzt. Wenn die Bedingung nicht erfüllt ist, schlagen die vollständigen Bedingungen und die entsprechende Regel fehl.
Geben Sie die Crawl URL-Regeln in das Textfeld ein und klicken Sie dann auf Änderungen speichern. Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig. Um die Suchregeln zu testen, können Sie eine Test-URL in das Textfeld "Test Rewrite Rules"eingeben und dann auf Test klicken.

RewriteRule-Richtlinie

Jede RewriteRule-Direktive definiert eine Rewrite-Regel. Regeln werden in der Reihenfolge angewendet, in der sie aufgeführt sind. Eine Regel zum Umschreiben nimmt die folgende Form an:
RewriteRule Pattern Substitution [Flags]

Muster können ein POSIX-regulärer Ausdruck sein, der auf den aktuellen Titel angewendet wird. Der "aktuelle Titel"unterscheidet sich vom ursprünglichen Titel, da frühere Regeln bereits übereinstimmen und ihn geändert haben.
Sie können das Zeichen "not"('!') verwenden. , um dem Muster ein Präfix zu geben. Mit dem Zeichen "nicht"können Sie ein Muster umkehren, d. h. nur dann wahr sein, wenn der aktuelle Titel NICHT mit dem Muster übereinstimmt. Das Zeichen "nicht"kann verwendet werden, wenn es besser ist, einem negativen Muster zu entsprechen, oder als endgültige Standardregel. Hinweis: Sie können nicht sowohl das Zeichen "nicht"als auch die gruppierten Platzhalter in einem Muster verwenden. Außerdem können Sie kein negatives Muster verwenden, wenn die Ersatzzeichenfolge $N enthält.
Sie können Klammern verwenden, um einen Rückverweis zu erstellen, auf den durch Substitution und CondPattern verwiesen werden kann.
Substitution Der Titel wird durch die Ersatzzeichenfolge ersetzt. Die Zeichenfolge kann Folgendes enthalten:
Text - Text, der unverändert übergeben wird.
Rückverweise bieten Zugriff auf die gruppierten Teile (in Klammern) des Musters oder des CondPatters. Es gibt zwei Typen von Rückverweisen:
  • RewriteRule-Rückverweise
    Diese entsprechen Rückverweisen im entsprechenden RewriteRule-Muster und nehmen das Format $N (0 <= N <= 9) an. Beispiel, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • RewriteCond-Rückverweise
    Diese entsprechen Rückverweisen im letzten übereinstimmenden RewriteCond CondPattern und haben das Format %N (0 <= N <= 9).
Variablen Dies sind Variablen des Formulars %, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Umgebungsvariablen finden Sie unter [E] Flag.
Funktionen Dies sind Funktionen des Formulars $, wobei NAME_OF_FUNCTION:
  • tolower macht alle Zeichen in Kleinbuchstaben .
  • toupper macht alle Zeichen in Großbuchstaben des Schlüssels .
Es gibt eine spezielle Ersatzzeichenfolge: "-" bedeutet "KEINE Substitution". Die Zeichenfolge "-"ist oft mit dem Flag C (chain) nützlich, sodass Sie einen Titel mehreren Mustern zuordnen können, bevor eine Ersetzung erfolgt.
Flags (optional)
Flags sind in Klammern gesetzt [] und mehrere Flags sind kommagetrennt:
Markierung
Beschreibung
'last|L'
Letzte Regel.
Beendet den Umschreibvorgang und wendet keine weiteren Umschreibungsregeln an. Verwenden Sie dieses Flag, um eine weitere Verarbeitung des aktuellen Titels zu verhindern.
'next|N'
Nächste Runde.
Führt den Umschreibvorgang (beginnend mit der ersten Umschreibungsregel) unter Verwendung des Titels der letzten Umschreibungsregel und nicht des ursprünglichen Titels aus. Pass auf, dass du keine Sackgasse machst!
'chain|C'
Verkettet mit der nächsten Regel.
Verkettet die aktuelle Regel mit der nächsten Regel (die auch mit der folgenden Regel verkettet werden kann usw.). Wenn eine Regel übereinstimmt, wird der Ersetzungsvorgang wie gewohnt fortgesetzt. Wenn die Regel nicht übereinstimmt, werden alle nachfolgenden verketteten Regeln übersprungen.
'nocase|NC'
Kein Fall.
Beim Muster wird nicht zwischen Groß- und Kleinschreibung unterschieden (d. h. es gibt keinen Unterschied zwischen "A-Z"und "a-z"), wenn das Muster mit dem aktuellen Titel übereinstimmt.
'skip|S=num'
Nächste Regel oder Regeln überspringen.
Wenn die aktuelle Regel übereinstimmt, zwingt dieses Flag die Umschreibungs-Engine, die nächsten Num-Regeln im Regelsatz zu überspringen. Verwenden Sie dies, um pseudo if-then-else-Konstrukte zu erstellen. Die letzte Regel der then-Klausel wird zu einem skip=N, wobei N die Anzahl der Regeln in der else-Klausel ist. (Hinweis: Dies ist nicht dasselbe wie die "chain|C" Fahne!)
'env|E=VAR:VAL'
Legen Sie Umgebungsvariable fest.
Erstellt eine Umgebungsvariable "VAR", die auf den Wert VAL eingestellt ist, wobei VAL reguläre Ausdrücke Rückverweise wie $N und %N enthalten kann, die erweitert werden. Sie können dieses Flag mehrmals verwenden, um mehrere Variablen festzulegen. Die Variablen können später in einem folgenden RewriteCond-Muster über %{VAR} referenziert werden. Verwenden Sie dieses Flag, um Informationen aus Titeln zu entfernen und zu speichern.

RewriteCond-Richtlinie (optional)

Die RewriteCond-Direktive definiert eine Regelbedingung. Wenn eine RewriteCond einer RewriteRule vorangeht, wird die Regel nur verwendet, wenn ihr Muster mit dem aktuellen Titel übereinstimmt und die zusätzlichen Bedingungen gelten.
Umschreiben von Bedingungsanweisungen haben die folgende Form:
RewriteCond TestString CondPattern [Flags] 

TestString ist eine Zeichenfolge, die die folgenden Konstrukte enthalten kann:
Text - Text, der unverändert übergeben wird.
Rückverweise bieten Zugriff auf die gruppierten Teile (in Klammern) des Musters oder des CondPatters. Es gibt zwei Arten von Rückverweisen:
  • RewriteRule-Rückverweise Diese Übereinstimmungen entsprechen Rückverweisen im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0 <= N <= 9). Beispiel, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • RewriteCond-Rückverweise Diese Übereinstimmungen entsprechen Rückverweisen im letzten übereinstimmenden RewriteCond CondPattern und nehmen die Form %N (0 <= N <= 9) an.
Variablen Dies sind Variablen des Formulars %, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Umgebungsvariablen finden Sie unter [E] Flag.
Funktionen Dies sind Funktionen des Formulars $, wobei NAME_OF_FUNCTION:
  • tolower macht alle Zeichen in Kleinbuchstaben .
  • toupper macht alle Zeichen in Großbuchstaben des Schlüssels .
  • escape-URL-kodiert alle Zeichen im Schlüssel.
  • Die Zeichen 'a'.z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@' und '_' bleiben unverändert, Leerzeichen werden in '+' übersetzt und alle anderen Zeichen werden in ihre %xx URL-kodierte Entsprechung umgewandelt.
  • unescape wandelt "+"zurück in den Leerraum und alle %xx URL-kodierten Zeichen zurück in einzelne Zeichen.
CondPattern ist ein standardmäßiger erweiterter regulärer Ausdruck mit einigen Ergänzungen. Der Musterzeichenfolge kann ein '!' vorangestellt werden -Zeichen (Ausrufezeichen), um ein nicht übereinstimmendes Muster anzugeben. Anstelle von echten Zeichenfolgen für reguläre Ausdrücke können Sie eine der folgenden Sondervarianten verwenden.
Sie können allen diesen Tests ein Ausrufezeichen ('!') voranstellen. ihre Bedeutung zu negieren.
CondPattern-Zeichenfolge
Beschreibung
'<CondPattern'
Ist lexikalisch unbedeutend.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString . True, wenn TestString lexikalisch kleiner als CondPattern ist.
'>CondPattern'
Ist lexikalisch größer.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString . True, wenn TestString lexikalisch größer als CondPattern ist.
'=CondPattern'
Ist lexikalisch gleich.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString . True, wenn TestString wörtlich mit CondPattern übereinstimmt, d. h., die beiden Zeichenfolgen sind exakt gleich (Zeichen nach Zeichen). Wenn CondPattern nur "" (zwei Anführungszeichen) ist, wird TestString mit der leeren Zeichenfolge verglichen.
Flags (optional)
Flags sind in Klammern gesetzt [] und mehrere Flags sind kommagetrennt:
Markierung
Beschreibung
'nocase|NC'
Kein Fall.
Macht den Test nicht empfindlich. Das heißt, es gibt keinen Unterschied zwischen 'A-Z' und 'a-z' sowohl im erweiterten TestString als auch im CondPattern.
'ornext|OR'
Oder die nächste Bedingung.
Verwenden Sie dieses Flag, um Regelbedingungen mit einem lokalen ODER anstelle des impliziten UND zu kombinieren. Ohne dieses Flag müssten Sie die Konstante/Regel mehrmals schreiben.
Beispiel
Angenommen, Sie haben eine Firmenwebsite mit einem standardmäßigen Titelformat: "Mein Unternehmen"gefolgt von einem Bindestrich und einer seitenspezifischen Beschreibung ("Mein Unternehmen - Willkommen"oder "Mein Unternehmen - Nachrichten"). Sie möchten "My Company -" aus dem Titel entfernen und den gesamten Titel in Großbuchstaben umwandeln, wenn er die Site indiziert.
Die folgende Regel zum Umschreiben verwendet den Funktionstoupper, um nur den beschreibenden Teil eines Titels in Großschreibung umzuschreiben:
RewriteRule  ^My[[:blank:]]Company[[:blank:]]-[[:blank:]] 
<b>(.*)</b>$  ${toupper: 
<b>$1</b>}

Das Regelmuster (^My[[:blank:]]Company[[:blank:]]-[[:blank:]] (.*)) enthält einen Rückverweis, (.*) der mit dem Titelinhalt übereinstimmt, der auf "My Company-"folgt. Denken Sie daran, dass ein Teil eines Musters mit Klammern ( ) einen Rückverweis erstellt, auf den durch die Substitution verwiesen werden kann. In diesem Beispiel schreibt der Ersatz (${toupper: $1 }) diesen Rückverweis ( $1 ) mit der Toupper-Funktion neu.
So wird der Titel des Formulars "Meine Firma - Willkommen" in "WICOME" umgeschrieben.
Bestätigung
Die rewrite Engine Software wurde ursprünglich von der Apache Group für die Verwendung im Apache HTTP Server Projekt (https://www.apache.org/) entwickelt.

Hinzufügen von Crawl-Titelregeln

Sie können Crawl-Titelregeln hinzufügen, um anzugeben, wie die gefundenen Titel im Webinhalt umgeschrieben werden, bevor sie im Suchindex gespeichert werden.
So fügen Sie Crawl-Titelregeln hinzu
  1. Klicken Sie im Produktmenü auf Settings > Rewrite Rules > Crawl Title Rules .
  2. Geben Sie in das Crawl Title Rules Feld die gewünschten Regeln ein.
    Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig.
  3. (Optional) Geben Sie auf der Crawl Title Rules Seite im Test Crawl Title Rules Feld eine Test-URL ein, deren Suchregeln Sie testen möchten, und klicken Sie dann auf Test .
  4. Klicken Sie auf Änderungen speichern .
  5. (Optional) Erstellen Sie Ihren Staged Site-Index neu, wenn Sie eine Vorschau der Ergebnisse anzeigen möchten.
  6. (Optional) Führen Sie auf der Crawl Title Rules Seite einen der folgenden Schritte aus:

Informationen zu URL-Regeln suchen

Mit den Such-URL-Regeln wird festgelegt, wie die URLs in den Suchergebnissen Ihrer Website angezeigt werden sollen. Die Regeln arbeiten mit vollständigen URLs. Jeder Teil der URL kann manipuliert werden, einschließlich Abfrageargumenten, bei denen Sitzungs-ID-Informationen häufig aufbewahrt werden.
In der Regel werden URL-Regeln für die Suche verwendet, um eine Sitzungs-ID in eine URL einzufügen. Sie können jedoch auch URL-Regeln für die Suche verwenden, um den Domänennamen zu ändern, der mit Ihren Ergebnissen angezeigt wird. Standardmäßig werden keine Regeln angegeben und es wird keine URL-Änderung durchgeführt.
Die Regeln der Such-URL können aus zwei Hauptelementen bestehen: die RewriteRule und die optionale RewriteCond. Wenn eine URL als Teil eines Suchergebnisses enthalten ist, werden die Regeln verwendet, um sie zu bearbeiten. Sie können eine unbegrenzte Anzahl von Regeln und Bedingungen für die Such-URL angeben. Die Reihenfolge dieser Regeln ist wichtig, da der Regelsatz in einer Schleife von Regel zu Regel ausgeführt wird. Wenn eine Regel übereinstimmt, durchläuft die Software alle (optionalen) entsprechenden Umschreibungsbedingungen. Crawl-URL-Regeln werden wie folgt festgelegt:
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i> 
 
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Bei der Verarbeitung einer URL versucht Site-Suche/Merchandising, sie dem Muster jeder Suchregel zuzuordnen. Wenn die Übereinstimmung fehlschlägt, stoppt die Umschreibungs-Engine die Verarbeitung der Regel und fährt mit der nächsten Regel im Satz fort. Wenn das Muster übereinstimmt, sucht die Rewrite-Engine nach entsprechenden RewriteCond-Anweisungen. Wenn keine Bedingungen vorhanden sind, wird die URL durch einen neuen Wert ersetzt. Dieser Wert wird aus der Ersatzzeichenfolge erstellt und mit der nächsten Regel im Regelsatz fortgesetzt. Wenn Bedingungen vorhanden sind, wird in der Reihenfolge, in der sie aufgeführt sind, die Verarbeitung dieser Bedingungen beschrieben. Die rewrite-Engine versucht, ein Bedingungsmuster (CondPattern) mit einer Testzeichenfolge (TestString) abzugleichen. Wenn beide übereinstimmen, wird die nächste Bedingung verarbeitet, bis keine weiteren Bedingungen verfügbar sind. Wenn alle Bedingungen übereinstimmen, wird die URL durch die in der Regel angegebene Substitution ersetzt. Wenn die Bedingung nicht erfüllt ist, schlagen die vollständigen Bedingungen und die entsprechende Regel fehl.

Info zur RewriteRule-Richtlinie

Eine Regel zum Umschreiben nimmt die folgende Form an:
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Muster können ein POSIX-regulärer Ausdruck sein, der auf die aktuelle URL angewendet wird. Die "aktuelle URL"kann von der ursprünglichen URL abweichen, da frühere Regeln möglicherweise bereits übereinstimmen und sie geändert haben.
Sie können das Zeichen "not"('!') verwenden. , um dem Muster ein Präfix zu geben. Mit dem Zeichen "nicht"können Sie ein Muster umkehren. Das heißt, es ist nur wahr, wenn die aktuelle URL NICHT mit dem Muster übereinstimmt. Sie können das Zeichen "nicht"verwenden, wenn es besser ist, einem negativen Muster zu entsprechen, oder als endgültige Standardregel. Beachten Sie, dass Sie nicht sowohl das Zeichen "nicht"als auch die gruppierten Platzhalter in einem Muster verwenden können. Außerdem können Sie kein negatives Muster verwenden, wenn die Ersatzzeichenfolge $N enthält.
Sie können Klammern verwenden, um einen Rückverweis zu erstellen, auf den durch Substitution und CondPattern verwiesen werden kann.
Substitution Die URL wird vollständig durch die Ersatzzeichenfolge ersetzt, die Folgendes enthalten kann:
Text - Text, der unverändert übergeben wird.
Rückverweise Ermöglicht den Zugriff auf die gruppierten Teile (in Klammern) des Musters oder des CondPatters. Es gibt zwei Arten von Rückverweisen:
RewriteRule-Rückverweise Diese Übereinstimmungen entsprechen Rückverweisen im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0 <= N <= 9). Beispiel, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
RewriteCond-Rückverweise - Diese Übereinstimmungen entsprechen Rückverweisen im letzten übereinstimmenden RewriteCond-CondPattern und nehmen die Form %N (0 <= N <= 9) an.
Funktionen: Dies sind Funktionen des Formulars $, wobei NAME_OF_FUNCTION:
  • tolower macht alle Zeichen in Kleinbuchstaben .
  • toupper macht alle Zeichen in Großbuchstaben des Schlüssels .
  • escape-URL-kodiert alle Zeichen im Schlüssel .
  • Die Zeichen 'a'.z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@' und '_' bleiben unverändert. Leerzeichen werden in "+"übersetzt. alle anderen Zeichen werden in ihre %xx URL-kodierte Entsprechung transformiert.
  • unescape wandelt "+"zurück in den Leerraum und alle %xx URL-kodierten Zeichen zurück in einzelne Zeichen.
Es gibt eine spezielle Ersatzzeichenfolge: "-" bedeutet "KEINE Substitution". Die Zeichenfolge '-' ist oft in Verbindung mit dem Flag C (chain) nützlich. Damit können Sie eine URL mehreren Mustern zuordnen, bevor eine Ersetzung erfolgt.
Flags (optional)
Flags sind in Klammern gesetzt [] und mehrere Flags sind kommagetrennt:
Markierung
Beschreibung
'last|L'
Letzte Regel.
Beenden Sie den Umschreibungsprozess und wenden Sie keine zusätzlichen Umschreibungsregeln an. Verwenden Sie dieses Flag, um eine weitere Verarbeitung der aktuellen URL zu verhindern.
'next|N'
Nächste Runde.
Führen Sie den Umschreibungsprozess (beginnend mit der ersten Umschreibungsregel) unter Verwendung der URL der letzten Umschreibungsregel (nicht der ursprünglichen URL) erneut aus. Achten Sie darauf, dass Sie keine Totschleife erzeugen!
'chain|C'
Verkettet mit der nächsten Regel.
Dieses Flag ketten die aktuelle Regel mit der nächsten Regel, die auch an die folgende Regel gekettet werden kann usw. Wenn eine Regel übereinstimmt, wird der Ersetzungsvorgang wie gewohnt fortgesetzt. Wenn die Regel nicht übereinstimmt, werden alle nachfolgenden verketteten Regeln übersprungen.
'nocase|NC'
Kein Fall.
Durch dieses Flag wird die Groß-/Kleinschreibung des Musters nicht berücksichtigt. Mit anderen Worten, es gibt keinen Unterschied zwischen "A-Z"und "a-z", wenn das Muster mit der aktuellen URL übereinstimmt.
'skip|S=num'
Nächste Regel oder Regeln überspringen.
Wenn die aktuelle Regel übereinstimmt, zwingt dieses Flag die Umschreibungs-Engine, die nächsten Num-Regeln im Regelsatz zu überspringen. Verwenden Sie dies, um pseudo if-then-else-Konstrukte zu erstellen. Die letzte Regel der then-Klausel wird zu einem skip=N, wobei N die Anzahl der Regeln in der else-Klausel ist. (Hinweis: Dies ist nicht dasselbe wie die "chain|C" Fahne!)
'env|E=VAR:VAL'
Legen Sie Umgebungsvariable fest.
Dieses Flag erstellt eine Umgebungsvariable "VAR", die auf den Wert VAL gesetzt ist. VAL kann reguläre Ausdrücke wie $N und %N enthalten, die erweitert werden. Sie können dieses Flag mehrmals verwenden, um mehrere Variablen festzulegen. Die Variablen können später in einem folgenden RewriteCond-Muster über %{VAR} dereferenziert werden. Verwenden Sie dieses Flag, um Informationen aus URLs zu entfernen und zu speichern.
Beachten Sie, dass die Regeln zum Umschreiben speichern und die Regeln zum Umschreiben abrufen Variablenwerte gemeinsam nutzen. Aus diesem Grund können Sie eine Variable auf einen zeitempfindlichen Sessionid-Wert setzen, wenn eine eingebettete URL gefunden und gespeichert wird. Wenn die nächste URL aus der Liste für temporäre Speicher abgerufen wird, kann der neueste Wert für sessionID hinzugefügt werden, bevor diese Seite abgerufen wird.
Beispiel
Angenommen, Sie verfügen über einen Server, auf dem die Groß- und Kleinschreibung beachtet wird. Die Zeichenfolgen "www.mydomain.com"und "www.MyDomain.com"werden unterschiedlich verarbeitet. Damit Ihr Server ordnungsgemäß funktioniert, müssen Sie sicherstellen, dass die Domäne immer "www.mydomain.com"lautet, auch wenn einige Dokumente Links enthalten, die auf "www.MyDomain.com"verweisen. Dazu können Sie die folgende Regel verwenden:
RewriteRule  ^https:// 
<b>([^/]*)</b> 
<i>(.*)</i>$  https://${tolower:$1}$2 

Diese Regel zum Umschreiben verwendet die Funktion "tolower", um den Domänenteil einer URL umzuschreiben, um sicherzustellen, dass er immer in Kleinbuchstaben lautet:
  1. Das Muster (^https://([^/]*)(.*)$) enthält einen Rückverweis, ([^/]*) der alle Zeichen zwischen "https://"und dem ersten "/"in der URL abgleicht. Das Muster enthält auch einen zweiten Rückverweis (*) die mit allen übrigen Zeichen in der URL übereinstimmt.
  2. Die Substitution (https://${tolower:$1}$2) weist die Suchmaschine an, die URL umzuschreiben, indem sie die tolower -Funktion für den ersten Rückverweis verwendet und den Rest der URL unverändert (https://**${tolower:$1**}$2) lässt (https://${tolower:$1}*$2*) .
Daher https://www.MyDomain.com/INTRO/index.Html wird eine URL des Formulars umgeschrieben als https://www.mydomain.com/INTRO/index.Html
RewriteCond-Richtlinie (optional)
Die RewriteCond-Direktive definiert eine Regelbedingung. Wenn eine RewriteCond einer RewriteRule vorangeht, wird die Regel nur verwendet, wenn ihr Muster mit dem aktuellen Titel übereinstimmt und die zusätzlichen Bedingungen gelten.
Umschreiben von Bedingungsanweisungen haben die folgende Form:
RewriteCond  
<i>TestString CondPattern [Flags]</i>

TestString ist eine Zeichenfolge, die die folgenden Konstrukte enthalten kann:
Text: Text, der unverändert weitergegeben wird.
Rückverweise bieten Zugriff auf die gruppierten Teile (in Klammern) des Musters oder des CondPatters. Es gibt zwei Arten von Rückverweisen:
  • ** RewriteRule-Rückverweise** Diese Übereinstimmungen entsprechen Rückverweisen im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0 <= N <= 9). Beispiel, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • RewriteCond-Rückverweise Diese Übereinstimmungsrückverweise im letzten übereinstimmenden RewriteCond-CondPattern und verwenden das Format %N (0 <= N <= 9).
Variablen Dies sind Variablen des Formulars %, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Variablen finden Sie unter Umschreiben [E] von Regeln.
Umformulierungsregeln verwenden im Allgemeinen Variablen. Alle CGI-Parameter der aktuellen URL werden automatisch in Variablen umgewandelt. Die Such-URL "https://search.atomz.com/search/?sp_a=sp00000000&sp_q="Product"&session=1234&id=5678" stellt beispielsweise automatisch vier Variablen bereit, auf die in den Umschreibungsregeln verwiesen werden kann. In diesem Beispiel wird eine Variable als "session"und ihr Wert "1234"und eine andere Variable als "id"und ihr Wert "5678"bezeichnet. (Die anderen beiden Variablen sind sp_a und sp_q .) Sie sollten alle erforderlichen Variablen als ausgeblendete Felder aus dem Suchformular auf Ihrer Webseite übergeben. In diesem Beispiel sollten Sie die Werte "session"und "id"übergeben, die den Website-Benutzer identifizieren, der die Suche durchführt. Um ein unsichtbares Feld im Suchformular zu übergeben, verwenden Sie ein Tag wie <input type=hidden name="session" value="1234"> .
Funktionen Dies sind Funktionen des Formulars $, wobei NAME_OF_FUNCTION:
  • tolower macht alle Zeichen in Kleinbuchstaben .
  • toupper macht alle Zeichen in Großbuchstaben des Schlüssels .
  • escape-URL-kodiert alle Zeichen im Schlüssel . Die Zeichen 'a'.z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@' und '_' bleiben unverändert, Leerzeichen werden in '+' übersetzt und alle anderen Zeichen werden in ihre %xx URL-kodierte Entsprechung umgewandelt.
  • unescape wandelt "+"zurück in den Leerraum und alle %xx URL-Kodierungszeichen zurück in einzelne Zeichen.
CondPattern ist ein standardmäßiger erweiterter regulärer Ausdruck mit einigen Ergänzungen. Der Musterzeichenfolge kann ein '!' vorangestellt werden -Zeichen (Ausrufezeichen), um ein nicht übereinstimmendes Muster anzugeben. Anstelle von echten Zeichenfolgen für reguläre Ausdrücke können Sie eine der folgenden Sondervarianten verwenden.
Mit einem Ausrufezeichen ('!') können Sie all diesen Tests ein Präfix voranstellen. ihre Bedeutung zu negieren.
CondPattern-Zeichenfolge
Beschreibung
'<CondPattern'
Ist lexikalisch unbedeutend.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString . True, wenn TestString lexikalisch kleiner als CondPattern ist.
'>CondPattern'
Ist lexikalisch größer.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString . True, wenn TestString lexikalisch größer als CondPattern ist.
'=CondPattern'
Ist lexikalisch gleich.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString . True, wenn TestString lexikalisch gleich CondPattern ist. Das heißt, die beiden Zeichenfolgen sind exakt gleich (Zeichen nach Zeichen). Wenn CondPattern nur "" (zwei Anführungszeichen) ist, wird TestString mit der leeren Zeichenfolge verglichen.
Flags (optional)
Flags sind in Klammern gesetzt [] und mehrere Flags sind kommagetrennt:
'nocase|NC' (kein Fall): Dadurch wird die Groß-/Kleinschreibung beim Test nicht berücksichtigt. Mit anderen Worten, es gibt keinen Unterschied zwischen 'A-Z' und 'a-z' sowohl im erweiterten TestString als auch im CondPattern .
'ornext|OR' (oder nächste Bedingung): Verwenden Sie dies, um Regelbedingungen mit einem lokalen ODER anstelle des impliziten UND zu kombinieren. Ohne dieses Flag müssten Sie die Regel mehrmals schreiben.
Beispiel
Einige Webseiten weisen eine "sessionid"-CGI-Variable zu, wenn ein Kunde zum ersten Mal auf eine Site gelangt. Diese Variable wird zur Identifizierung des Kunden verwendet. Wenn der Kunde die Site durchsucht, wird die Variable weitergeleitet. Da der Suchroboter wie ein Kunde Ihrer Site aussieht, wird ihm eine "sessionid"-Nummer zugewiesen. Der Suchroboter behält diesen einzelnen "sessionid"-Wert bei, selbst wenn eine zweite Site versucht, einen neuen Wert zuzuweisen. Um dies sicherzustellen, benötigen Sie die folgende Regel zum Umschreiben:
RewriteCond  %{sessionid}  .+ 
RewriteRule  ^ 
<b>(.+)</b>sessionid=[^&#]+ 
<i>(.*)</i>$   
<b>$1</b>sessionid=%{sessionid} 
<i>$2</i>

Das RewriteRule-Muster enthält zwei Rückverweise: (.+) und (.*). Der erste Rückverweis stimmt mit allen Zeichen vor "sessionid="überein. Der zweite Rückverweis findet alle Zeichen nach dem Beenden von "&"oder "#"des Sitzungsteilnehmers.
Das Substitutionsmuster schreibt die URL mit dem ersten Rückverweis um, gefolgt von der Zeichenfolge "sessionid=", gefolgt vom Wert der Sitzungs-ID-Variablen, die als CGI-Parameter in der URL übergeben wurde, gefolgt vom zweiten Rückverweis. ($1sessionid=%{sessionid}$2) .
Die RewriteCond prüft die Variable sessionid (%{sessionid}) . Wenn es mindestens ein Zeichen enthält (.+), dann stimmt RewriteRule überein.
Wenn also die Suchabfrage "https://search.atomz.com/search/?sp_a=sp99999999&sp_q=word&sessionid=5678" ist, werden alle Suchergebnis-URLs so umgeschrieben, dass der Wert "sessionid""5678"anstelle des Werts "sessionid"ist, auf den der Suchroboter gestoßen ist, wenn er Ihre Site durchsucht und die Links gespeichert hat.
Bestätigung
Die rewrite Engine Software wurde ursprünglich von der Apache Group für die Verwendung im Apache HTTP Server Projekt (https://www.apache.org/) entwickelt.

Hinzufügen von URL-Regeln für die Suche

Sie können URL-Regeln für die Suche hinzufügen, um anzugeben, wie die URLs in den Suchergebnissen Ihrer Website angezeigt werden. Die Regeln arbeiten mit vollständigen URLs. Sie können einen beliebigen Teil der URL bearbeiten, einschließlich Abfrageargumenten, bei denen Sitzungs-ID-Informationen häufig aufbewahrt werden.
So fügen Sie URL-Regeln zur Suche hinzu
  1. Klicken Sie im Produktmenü auf Settings > Rewrite Rules > Search URL Rules .
  2. Geben Sie in das Search URL Rules Feld die gewünschten Regeln ein.
    Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig.
  3. (Optional) Geben Sie auf der Search URL Rules Seite im Test Search URL Rules Feld eine Test-URL ein, deren Crawl-Regeln Sie testen möchten, und klicken Sie dann auf Test .
  4. Klicken Sie auf Änderungen speichern .
  5. (Optional) Erstellen Sie Ihren Staged Site-Index neu, wenn Sie eine Vorschau der Ergebnisse anzeigen möchten.
  6. (Optional) Führen Sie auf der Search URL Rules Seite einen der folgenden Schritte aus:

Informationen zu Suchtitelregeln

Suchtitelregeln geben an, wie Titel in den Suchergebnissen Ihrer Website angezeigt werden. Jeder Teil des Titels kann bearbeitet werden.
Eine Umschreibungsregel kann verwendet werden, um einen Teil eines Titels zu entfernen, z. B. einen Unternehmensnamen. Standardmäßig enthält die Site-Suche/das Merchandising keine Titelregeln und nimmt keine Änderungen am Titel vor.
Titelregeln können aus zwei Hauptelementen bestehen: RewriteRule und optional RewriteCond. Es kann eine unbegrenzte Anzahl von Regeln und Bedingungen festgelegt werden. Die Reihenfolge dieser Regeln ist wichtig, da der Regelsatz von Regel zu Regel durchlaufen wird. Wenn eine Regel übereinstimmt, durchläuft die Software alle (optionalen) entsprechenden Umschreibungsbedingungen. Suchtitelregeln werden wie folgt festgelegt:
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i> 
 
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Wenn ein Titel gefunden wird, versucht Site-Suche/Merchandising, ihn dem Muster jeder Crawl-Regel zuzuordnen. Wenn das Muster übereinstimmt, sucht die Rewrite-Engine nach entsprechenden RewriteCond-Anweisungen. Wenn keine Bedingungen vorhanden sind, wird der Titel durch einen neuen Wert ersetzt, der aus der Ersetzungszeichenfolge erstellt wurde, und mit der nächsten Regel im Regelsatz fortgesetzt. Wenn Bedingungen vorhanden sind, werden sie in der Reihenfolge verarbeitet, in der sie aufgelistet sind. Die rewrite-Engine versucht, ein Bedingungsmuster (CondPattern) mit einer Testzeichenfolge (TestString) abzugleichen. Wenn beide übereinstimmen, wird die nächste Bedingung verarbeitet, bis keine weiteren Bedingungen verfügbar sind. Wenn alle Bedingungen übereinstimmen, wird die URL durch die in der Regel angegebene Substitution ersetzt. Wenn die Bedingung nicht erfüllt ist, schlagen die vollständigen Bedingungen und die entsprechende Regel fehl.

RewriteRule-Richtlinie

Jede RewriteRule-Direktive definiert eine Rewrite-Regel. Regeln werden in der Reihenfolge angewendet, in der sie aufgeführt sind. Eine Regel zum Umschreiben nimmt die folgende Form an:
RewriteRule Pattern Substitution [Flags]

Muster Ein POSIX-regulärer Ausdruck, der auf den aktuellen Titel angewendet wird. Der "aktuelle Titel"kann vom ursprünglichen Titel abweichen, da frühere Regeln möglicherweise bereits übereinstimmen und ihn geändert haben.
Sie können das Zeichen "not"('!') verwenden. , um dem Muster ein Präfix zu geben. Mit dem Zeichen "nicht"können Sie ein Muster umkehren. Dies bedeutet, dass "true"nur dann gilt, wenn der aktuelle Titel NICHT mit dem Muster übereinstimmt. Das Zeichen "nicht"kann verwendet werden, wenn es besser ist, einem negativen Muster zu entsprechen, oder als endgültige Standardregel. Hinweis: Sie können nicht sowohl das Zeichen "nicht"als auch die gruppierten Platzhalter in einem Muster verwenden. Außerdem können Sie kein negatives Muster verwenden, wenn die Ersatzzeichenfolge $N enthält.
Sie können Klammern verwenden, um einen Rückverweis zu erstellen, auf den durch Substitution und CondPattern verwiesen werden kann.
Substitution Der Titel wird vollständig durch die Ersatzzeichenfolge ersetzt, die Folgendes enthalten kann:
Text - Text, der unverändert übergeben wird.
Rückverweise Ermöglicht Zugriff auf die gruppierten Teile (in Klammern) des Musters oder des CondPatters. Es gibt zwei Typen von Rückverweisen:
  • RewriteRule-Rückverweise Diese Übereinstimmungen entsprechen Rückverweisen im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0 <= N <= 9). Beispiel, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • ** RewriteCond-Rückverweise** Diese Übereinstimmungsrückverweise im letzten übereinstimmenden RewriteCond-Muster und verwenden das Formular %N (0 <= N <= 9).
Variablen Dies sind Variablen des Formulars %, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Umgebungsvariablen finden Sie unter # -Flag. Variablen können auch im Suchformular definiert werden, das die Suchergebnisse generiert hat.
Funktionen Dies sind Funktionen des Formulars $, wobei NAME_OF_FUNCTION:
  • tolower macht alle Zeichen in Kleinbuchstaben .
  • toupper macht alle Zeichen in Großbuchstaben des Schlüssels .
Es gibt eine spezielle Ersatzzeichenfolge: "-" bedeutet "KEINE Substitution". Die Zeichenfolge "-"ist häufig in Verbindung mit dem Flag C (chain) nützlich, sodass Sie einen Titel mehreren Mustern zuordnen können, bevor eine Ersetzung erfolgt.
Flags (optional)
Flags sind in Klammern [] eingeschlossen, mehrere Flags sind kommagetrennt:
Markierung
Beschreibung
'last|L'
Letzte Regel.
Beenden Sie den Umschreibungsprozess und wenden Sie keine zusätzlichen Umschreibungsregeln an. Verwenden Sie dieses Flag, um eine weitere Verarbeitung des aktuellen Titels zu verhindern.
'next|N'
Nächste Runde.
Führen Sie den Umschreibvorgang erneut aus (beginnend mit der ersten Umschreibungsregel) und verwenden Sie dabei den Titel der letzten Umschreibungsregel (nicht den ursprünglichen Titel!). Pass auf, dass du keine Sackgasse machst!
'chain|C'
Verkettet mit der nächsten Regel.
Dieses Flag ketten die aktuelle Regel mit der nächsten Regel (die auch an die folgende Regel usw. gekettet werden kann). Wenn eine Regel übereinstimmt, wird der Ersetzungsvorgang wie gewohnt fortgesetzt. Wenn die Regel nicht übereinstimmt, werden alle nachfolgenden verketteten Regeln übersprungen.
'nocase|NC'
Kein Fall.
Durch dieses Flag wird die Groß-/Kleinschreibung des Musters nicht berücksichtigt. Das heißt, es gibt keinen Unterschied zwischen "A-Z"und "a-z", wenn das Muster mit dem aktuellen Titel übereinstimmt.
'skip|S=num'
Nächste Regel oder Regeln überspringen.
Wenn die aktuelle Regel übereinstimmt, zwingt dieses Flag die Umschreibungs-Engine, die nächsten Num-Regeln im Regelsatz zu überspringen. Verwenden Sie dies, um pseudo if-then-else-Konstrukte zu erstellen. Die letzte Regel der then-Klausel wird zu einem skip=N, wobei N die Anzahl der Regeln in der else-Klausel ist. (Dies ist nicht dasselbe wie die "chain|C"-Fahne!)
'env|E=VAR:VAL'
Legen Sie Umgebungsvariable fest.
Dieses Flag erstellt eine Umgebungsvariable "VAR", die auf den Wert VAL gesetzt wird, wobei VAL reguläre Ausdrücke Rückverweise wie $N und %N enthalten kann, die erweitert werden. Sie können dieses Flag mehrmals verwenden, um mehrere Variablen festzulegen. Die Variablen können später in einem folgenden RewriteCond-Muster über %{VAR} referenziert werden. Verwenden Sie dieses Flag, um Informationen aus Titeln zu entfernen und zu speichern.

RewriteCond-Richtlinie (optional)

Die RewriteCond-Direktive definiert eine Regelbedingung. Wenn eine RewriteCond einer RewriteRule vorangeht, wird die Regel nur verwendet, wenn ihr Muster mit dem aktuellen Titel übereinstimmt und die zusätzlichen Bedingungen gelten.
Umschreiben von Bedingungsanweisungen haben die folgende Form:
RewriteCond TestString CondPattern [Flags]

TestString ist eine Zeichenfolge, die die folgenden Konstrukte enthalten kann:
Text - Text, der unverändert übergeben wird.
Rückverweise bieten Zugriff auf die gruppierten Teile (in Klammern) des Musters oder des CondPatters. Es gibt zwei Arten von Rückverweisen:
  • RewriteRule-Rückverweise Diese Übereinstimmungen entsprechen Rückverweisen im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0 <= N <= 9). Beispiel, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • RewriteCond-Rückverweise Diese Übereinstimmungsrückverweise im letzten übereinstimmenden RewriteCond-CondPattern und verwenden das Format %N (0 <= N <= 9).
Variablen Dies sind Variablen des Formulars %, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Umgebungsvariablen finden Sie unter [E] Flag. Variablen können auch im Suchformular definiert werden, das die Suchergebnisse generiert hat.
Funktionen Dies sind Funktionen des Formulars $, wobei NAME_OF_FUNCTION:
  • tolower macht alle Zeichen in Kleinbuchstaben .
  • toupper macht alle Zeichen in Großbuchstaben des Schlüssels .
  • escape-URL-kodiert alle Zeichen im Schlüssel .
  • Die Zeichen 'a'.z', 'A'..'Z', '0'..'9', '*', '-', '.', '/', '@' und '_' bleiben unverändert, Leerzeichen werden in '+' übersetzt und alle anderen Zeichen werden in ihre %xx URL-kodierte Entsprechung umgewandelt.
  • unescape wandelt "+"zurück in den Leerraum und alle %xx URL-kodierten Zeichen zurück in einzelne Zeichen.
Es gibt eine spezielle Ersatzzeichenfolge: "-" bedeutet "KEINE Substitution". Die Zeichenfolge "-"ist häufig in Verbindung mit dem Flag C (chain) nützlich, sodass Sie eine URL mehreren Mustern zuordnen können, bevor eine Ersetzung erfolgt.
CondPattern Ein standardmäßiger erweiterter regulärer Ausdruck mit einigen Ergänzungen. Der Musterzeichenfolge kann ein '!' vorangestellt werden -Zeichen (Ausrufezeichen), um ein nicht übereinstimmendes Muster anzugeben. Anstelle von echten Zeichenfolgen für reguläre Ausdrücke können Sie eine der folgenden Sondervarianten verwenden.
Diesen Tests kann auch ein Ausrufezeichen ('!') vorangestellt werden. ihre Bedeutung zu negieren.
CondPattern-Zeichenfolge
Beschreibung
'<CondPattern'
Ist lexikalisch unbedeutend.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString . True, wenn TestString lexikalisch kleiner als CondPattern ist.
'>CondPattern'
Ist lexikalisch größer.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString . True, wenn TestString lexikalisch größer als CondPattern ist.
'=CondPattern'
Ist lexikalisch gleich.
Behandelt das CondPattern als einfache Zeichenfolge und vergleicht es wörtlich mit TestString . True, wenn TestString lexikalisch gleich CondPattern ist. Das heißt, die beiden Zeichenfolgen sind exakt gleich (Zeichen nach Zeichen). Wenn CondPattern nur "" (zwei Anführungszeichen) ist, wird TestString mit der leeren Zeichenfolge verglichen.
Flags (optional)
Flags sind in Klammern [] eingeschlossen, und mehrere Flags sind durch Kommas getrennt:
Markierung
Beschreibung
'nocase|NC' (kein Fall)
Macht den Test nicht empfindlich. Das heißt, es gibt keinen Unterschied zwischen 'A-Z' und 'a-z' sowohl im erweiterten TestString als auch im CondPattern .
'ornext|OR' (oder nächste Bedingung)
Verwenden Sie dies, um Regelbedingungen mit einem lokalen ODER anstelle des impliziten UND zu kombinieren. Ohne dieses Flag müssten Sie die Regel mehrmals schreiben.

Beispiel

Angenommen, Sie haben eine Firmenwebsite mit einem standardmäßigen Titelformat: "Mein Unternehmen"gefolgt von einem Bindestrich und einer seitenspezifischen Beschreibung ("Mein Unternehmen - Willkommen"oder "Mein Unternehmen - Nachrichten"). Sie möchten "My Company -" aus dem Titel entfernen und den gesamten Titel in Großbuchstaben konvertieren, wenn er die Site indiziert.
Die folgende Regel zum Umschreiben verwendet den Funktionstoupper, um nur den beschreibenden Teil eines Titels in Großschreibung umzuschreiben:
RewriteRule  ^My[[:blank:]]Company[[:blank:]]-[[:blank:]] 
<b>(.*)</b>$  ${toupper: 
<b>$1</b>} 

Das Regelmuster (^My[[:blank:]]Company[[:blank:]]-[[:blank:]] (.*)) enthält einen Rückverweis, (.*) der mit dem Titelinhalt übereinstimmt, der auf "My Company-"folgt. Denken Sie daran, dass ein Teil eines Musters mit Klammern ( ) einen Rückverweis erstellt, auf den durch die Substitution verwiesen werden kann. In diesem Beispiel schreibt der Ersatz (${toupper: $1 }) diesen Rückverweis ( $1 ) mit der Toupper-Funktion neu.
So wird der Titel des Formulars "Meine Firma - Willkommen" in "WICOME" umgeschrieben.
Bestätigung
Die rewrite Engine Software wurde ursprünglich von der Apache Group für die Verwendung im Apache HTTP Server Projekt (https://www.apache.org/) entwickelt.

Hinzufügen von Suchtitelregeln

Sie können Suchtitelregeln hinzufügen, um anzugeben, wie Titel in den Suchergebnissen Ihrer Website angezeigt werden. Sie können einen beliebigen Teil des Titels bearbeiten.
So fügen Sie Suchtitelregeln hinzu
  1. Klicken Sie im Produktmenü auf Settings > Rewrite Rules > Search Title Rules .
  2. Geben Sie in das Search Title Rules Feld die gewünschten Regeln ein.
    Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig.
  3. (Optional) Geben Sie auf der Search Title Rules Seite im Test Search Title Rules Feld einen Testtitel ein und klicken Sie dann auf Test .
  4. Klicken Sie auf Änderungen speichern .
  5. (Optional) Erstellen Sie Ihren Staged Site-Index neu, wenn Sie eine Vorschau der Ergebnisse anzeigen möchten.
  6. (Optional) Führen Sie auf der Search Title Rules Seite einen der folgenden Schritte aus: