Über das Menü Regeln neu schreiben

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

Informationen zu Crawl Liste Store URL Rules

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. Abfragen, 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 zusätzlicher zu durchsuchender Webseiten gespeichert. Bevor dieser Liste eine URL hinzugefügt wird, werden die Regeln zum Speichern von Umschreibungen 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 Über Crawl-Liste URL-Regeln abrufen.

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.

Info zu RewriteRule-Direktiven

Eine RewriteRule-Direktive hat das folgende Formular:

           
<i>RewriteRule Pattern Substitution [Flags]</i> 
        

Pattern kann ein regulärer POSIX-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.

Siehe Reguläre Ausdruck.

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.

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 im Muster zu erstellen, auf den durch Substitution und CondPattern verwiesen werden kann.

​SubstitutionDie 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 BackreferencesDiese Match-Rückverweise im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0) <> Beispiel, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2.

  • RewriteCond- RückverweiseDiese Übereinstimmungsrückverweise im zuletzt übereinstimmenden RewriteCond-CondPattern und in der Form %N (0 <>

Variablen: Dies sind Variablen des Formulars %{NAME_OF_VARIABLE}, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen ist. Weitere Informationen zum Festlegen von Umgebung finden Sie unter *[E]*-Flag.

Funktionen: Dies sind Funktionen des Formulars ${NAME_OF_FUNCTION:key}, wobei NAME_OF_FUNCTION die folgenden ist:

  • tolower macht alle Zeichen in Kleinbuchstaben key.
  • toupper macht alle Zeichen in Großbuchstaben key.
  • escape-URL-kodiert alle Zeichen in key.
  • 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.
HINWEIS

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

(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 Ausdruck-Rückverweise, $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.

HINWEIS

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 Datenspeicherung abgerufen wird, kann der neueste Wert für sessionid hinzugefügt werden, bevor die Seite abgerufen wird.

Beispiel einer RewriteRule mit einer Funktion

Angenommen, Sie verfügen über einen Server, der die Groß- und Kleinschreibung unterscheidet und die Zeichenfolgen "www.mydomain.com" und "www.MyDomain.com" unterschiedlich verarbeitet. Damit Ihr Server ordnungsgemäß funktioniert, stellen Sie sicher, dass die Domäne immer "www.mydomain.com" ist, auch wenn einige Dokumente Links enthalten, die auf "www.MyDomain.com." verweisen. Verwenden Sie dazu die folgende Regel:

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, wie im Folgenden dargestellt:

  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 Funktion tolower für den ersten Rückverweis (https:// ${tolower:$1}$2) verwendet, wobei der Rest der URL unverändert bleibt.(https://${tolower:$1} $2)

Daher wird eine URL des Formulars https://www.MyDomain.com/INTRO/index.Html in https://www.mydomain.com/INTRO/index.Html umgeschrieben.

Info 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 BackreferencesDiese Match-Rückverweise im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0) <> Beispiel, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2.

  • RewriteCond- RückverweiseDiese Übereinstimmungsrückverweise im zuletzt übereinstimmenden RewriteCond-CondPattern und in der Form %N (0<>

Variablen: Dies sind Variablen des Formulars %{NAME_OF_VARIABLE}, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Variablen finden Sie im Flag RewriteRule [E].

Funktionen: Dies sind Funktionen des Formulars ${NAME_OF_FUNCTION:key}, wobei NAME_OF_FUNCTION die folgenden ist:

  • tolower macht alle Zeichen in Kleinbuchstaben key.
  • toupper macht alle Zeichen in Großbuchstaben key.
  • 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.

​CondPatternis 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. Anstelle der Zeichenfolgen mit regulären Ausdrücken können Sie eine der folgenden Sondervarianten verwenden:

HINWEIS

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. Wenn der Besucher durch die Site navigiert, 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 sessionid den aktuellen Wert des sessionid-CGI-Parameters zuzuweisen. Das $1 verweist auf den ersten Rückverweis, der zwischen dem ersten Satz von Klammern im Muster der RewriteRule ([^&#]+) enthalten ist.

Der reguläre Ausdruck ^&#]+ entspricht dem Teil einer URL zwischen dem Wort sessionid und dem nächsten Zeichen **&**&#x200B;or&#x200B;**#**. 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 auf - eingestellt ist, um anzugeben, dass keine Umschreibung erforderlich ist.

RewriteCond untersucht die Variable sessionid ( %{sessionid}). Wenn es nicht einmal ein einzelnes Zeichen (!+), dann stimmt RewriteRule überein.

Bei Verwendung dieser Regel wird die URL als https://www.domain.com/home/?sessionid=1234&function=start gelesen und der Variablen sessionid den Wert 1234 zugewiesen.

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 vor sessionid überein. Der zweite Rückverweis entspricht allen Zeichen nach dem Abschluss von & oder #.

Das Substitutionsmuster schreibt die URL mit dem ersten Rückverweis, gefolgt von der Zeichenfolge "sessionid=", gefolgt vom Wert der durch die erste Regel %{sessionid} definierten Sitzungs-ID-Variablen, gefolgt vom zweiten Rückverweis. ($1sessionid=%{sessionid} $2)

Beachten Sie, dass diese RewriteRule keinen RewriteCond enthält. Daher wird für alle URLs, die mit der RewriteRule Pattern übereinstimmen, ein Umschreiben ausgelöst. Wenn der Wert der sessionid-Variablen ( %{sessionid}) 1234 ist, wird eine URL des Formulars https://www.domain.com/products/?sessionid=5678&function=buy als https://www.domain.com/products/?sessionid=1234&function=buy umgeschrieben

Danksagung

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-Listen-Store-URL-Regel

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 Liste Store URL-Regeln hinzu:

  1. Klicken Sie im Produktmenü auf Settings > Rewrite Rules > Crawl List Store URL Rules.

  2. Geben Sie im Feld Crawl List Store URL Rules die gewünschten Regeln ein.

    Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig.

  3. (Optional) Geben Sie auf der Seite Crawl List Store URL Rules im Feld Test Crawl List Store URL Rules eine Test-URL ein, deren Crawl-Regeln Sie testen möchten, und klicken Sie dann auf Test.

  4. Klicken Save Changes.

  5. (Optional) Erstellen Sie Ihren Stage-Site-Index neu, wenn Sie die Vorschauen durchführen möchten.

    Siehe Konfigurieren eines inkrementellen Indexes einer gestaffelten Website.

  6. (Optional) Führen Sie auf der Seite Crawl List Store URL Rules einen der folgenden Schritte aus:

Informationen zu Crawl-Listen URL-Regeln 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. Abfragen, 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 zusätzlicher zu durchsuchender 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.

Info zu RewriteRule-Direktiven

Eine RewriteRule-Direktive hat das folgende Formular:

           
<i>RewriteRule Pattern Substitution [Flags]</i> 
        

Pattern kann ein regulärer POSIX-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.

Siehe Reguläre Ausdruck.

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.

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 im Muster zu erstellen, auf den durch Substitution und CondPattern verwiesen werden kann.

​SubstitutionDie 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 BackreferencesDiese Match-Rückverweise im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0) <> 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 %{NAME_OF_VARIABLE}, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen ist. Weitere Informationen zum Festlegen von Umgebung finden Sie unter [E].

Funktionen: Dies sind Funktionen des Formulars ${NAME_OF_FUNCTION:key}, wobei NAME_OF_FUNCTION die folgenden ist:

  • tolower macht alle Zeichen in Kleinbuchstaben key.
  • toupper macht alle Zeichen in Großbuchstaben key.
  • escape-URL-kodiert alle Zeichen in key.
  • 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.
HINWEIS

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 Ausdruck-Rückverweise, $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.

HINWEIS

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 Datenspeicherung abgerufen wird, kann der neueste Wert für sessionid hinzugefügt werden, bevor die 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 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, wie im Folgenden dargestellt:

  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 Funktion tolower für den ersten Rückverweis (https:// ${tolower:$1}$2) verwendet, wobei der Rest der URL unverändert bleibt.(https://${tolower:$1} $2)

Daher wird eine URL des Formulars https://www.MyDomain.com/INTRO/index.Html in https://www.mydomain.com/INTRO/index.Html umgeschrieben.

Info 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 BackreferencesDiese Match-Rückverweise im entsprechenden RewriteRule-Muster und verwenden das Formular $N (0) <> Beispiel, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2.

  • RewriteCond- RückverweiseDiese Übereinstimmungsrückverweise im zuletzt übereinstimmenden RewriteCond-CondPattern und in der Form %N (0<>

Variablen: Dies sind Variablen des Formulars %{NAME_OF_VARIABLE}, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Variablen finden Sie im Flag RewriteRule [E].

Funktionen: Dies sind Funktionen des Formulars ${NAME_OF_FUNCTION:key}, wobei NAME_OF_FUNCTION die folgenden ist:

  • tolower macht alle Zeichen in Kleinbuchstaben key.
  • toupper macht alle Zeichen in Großbuchstaben key.
  • 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.

​CondPatternis 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 der Zeichenfolgen mit regulären Ausdrücken können Sie eine der folgenden Sondervarianten verwenden:

HINWEIS

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. Wenn der Besucher durch die Site navigiert, 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 sessionid den aktuellen Wert des sessionid-CGI-Parameters zuzuweisen. Das $1 verweist auf den ersten Rückverweis, der zwischen dem ersten Satz von Klammern im Muster der RewriteRule ([^&#]+) 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 auf - eingestellt ist, um anzugeben, dass keine Umschreibung erforderlich ist.

RewriteCond untersucht die Variable sessionid ( %{sessionid}). Wenn es nicht einmal ein einzelnes Zeichen (!+), dann stimmt RewriteRule überein.

Bei Verwendung dieser Regel wird die URL als https://www.domain.com/home/?sessionid=1234&function=start gelesen und der Variablen sessionid den Wert 1234 zugewiesen.

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 vor sessionid überein. Der zweite Rückverweis entspricht allen Zeichen nach dem Abschluss von & oder #.

Das Substitutionsmuster schreibt die URL mit dem ersten Rückverweis, gefolgt von der Zeichenfolge "sessionid=", gefolgt vom Wert der durch die erste Regel %{sessionid} definierten Sitzungs-ID-Variablen, gefolgt vom zweiten Rückverweis. ($1sessionid=%{sessionid} $2)

Beachten Sie, dass diese RewriteRule keinen RewriteCond enthält. Daher wird für alle URLs, die mit der RewriteRule Pattern übereinstimmen, ein Umschreiben ausgelöst. Wenn der Wert der sessionid-Variablen ( %{sessionid}) 1234 ist, wird eine URL des Formulars https://www.domain.com/products/?sessionid=5678&function=buy als https://www.domain.com/products/?sessionid=1234&function=buy umgeschrieben

Danksagung

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 zum Abrufen von URL-Regeln

Sie können Crawl-Listen URL-Regeln hinzufügen, um anzugeben, wie getretene 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-Listen URL-Regeln ab:

  1. Klicken Sie im Produktmenü auf Settings > Rewrite Rules > Crawl List Retrieve URL Rules.

  2. Geben Sie im Feld Crawl List Retrieve URL Rules die gewünschten Regeln ein.

    Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig.

  3. (Optional) Geben Sie auf der Seite Crawl List Retrieve URL Rules im Feld Test Crawl List Retrieve URL Rules eine Test-URL ein, deren Crawl-Regeln Sie testen möchten, und klicken Sie dann auf Test.

  4. Klicken Save Changes.

  5. (Optional) Erstellen Sie Ihren Stage-Site-Index neu, wenn Sie die Vorschauen durchführen möchten.

    Siehe Konfigurieren eines inkrementellen Indexes einer gestaffelten Website.

  6. (Optional) Führen Sie auf der Seite Crawl List Retrieve URL Rules 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 Directive

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]

Bei Patterns kann es sich um einen POSIX-regulären Ausdruck handeln, 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.

Siehe Reguläre Ausdruck.

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 Ü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 %{NAME_OF_VARIABLE}, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Umgebung finden Sie unter [E]-Flag.

Funktionen Dies sind Funktionen des Formulars ${NAME_OF_FUNCTION: key}, wobei NAME_OF_FUNCTION:

  • tolower macht alle Zeichen in Kleinbuchstaben key.
  • toupper macht alle Zeichen in Großbuchstaben key.
HINWEIS

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 []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 die Variable "Umgebung"fest.

Erstellt eine Umgebungsvariable "VAR", die auf den Wert VAL eingestellt ist, wobei VAL reguläre Ausdruck-Rückverweise ($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 %{NAME_OF_VARIABLE}, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Umgebung finden Sie unter [E]-Flag.

Funktionen Dies sind Funktionen des Formulars ${NAME_OF_FUNCTION:key}, wobei NAME_OF_FUNCTION:

  • tolower macht alle Zeichen in Kleinbuchstaben key.
  • toupper macht alle Zeichen in Großbuchstaben key.
  • 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.

​CondPatternis 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.

HINWEIS

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 CondPattern entspricht, 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 []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: "Meine Firma"gefolgt von einem Bindestrich und einer seitenspezifischen Beschreibung ("Meine Firma - Willkommen"oder "Meine Firma - Neuigkeiten"). Sie möchten "Meine Firma -" 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 dem Titelinhalt entspricht, der auf "Meine Firma-"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 wird die

(${toupper:**$1**})

überschreibt diesen Rückverweis (**$1**) mit der Toupper-Funktion.

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 im Feld Crawl Title Rules die gewünschten Regeln ein.

    Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig.

  3. (Optional) Geben Sie auf der Seite Crawl Title Rules im Feld Test Crawl Title Rules eine Test-URL ein, deren Suchregeln Sie testen möchten, und klicken Sie dann auf Test.

  4. Klicken Save Changes.

  5. (Optional) Erstellen Sie Ihren Stage-Site-Index neu, wenn Sie die Vorschauen durchführen möchten.

    Siehe Konfigurieren eines inkrementellen Indexes einer gestaffelten Website.

  6. (Optional) Führen Sie auf der Seite Crawl Title Rules einen der folgenden Schritte aus:

Informationen zu URL-Regeln für die Suche

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 Abfragen-Argumenten, 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-Direktive

Eine Regel zum Umschreiben nimmt die folgende Form an:

RewriteRule  
<i>Pattern Substitution [Flags]</i>

Bei Patterns kann es sich um einen POSIX-regulären Ausdruck handeln, 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.

Siehe Reguläre Ausdruck.

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.

​SubstitutionDie 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 ${NAME_OF_FUNCTION:key}, wobei NAME_OF_FUNCTION:

  • tolower macht alle Zeichen in Kleinbuchstaben key.
  • toupper macht alle Zeichen in Großbuchstaben key.
  • escape-URL-kodiert alle Zeichen in key.
  • 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.
HINWEIS

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 []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 Ausdruck-Rückverweise, $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 Datenspeicherung abgerufen wird, kann der neueste Wert für sessionid hinzugefügt werden, bevor die 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 allen Zeichen zwischen "https://"und dem ersten "/"in der URL entspricht. Das Muster enthält auch einen zweiten Rückverweis (.*), die mit allen verbleibenden Zeichen in der URL übereinstimmt.

  2. Die Substitution (https://${tolower:$1}$2) weist die Suchmaschine an, die URL umzuschreiben, indem sie die Funktion tolower beim ersten Rückverweis (https://**${tolower:$1**}$2) verwendet, wobei der Rest der URL unberührt bleibt (https://${tolower:$1}*$2*).

Daher wird eine URL des Formulars https://www.MyDomain.com/INTRO/index.Html in https://www.mydomain.com/INTRO/index.Html umgeschrieben

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 Übereinstimmungen entsprechen Rückverweisen im letzten übereinstimmenden RewriteCond-CondPattern und nehmen die Form %N (0 <= N <= 9) an.

Variablen Dies sind Variablen des Formulars %{NAME_OF_VARIABLE}, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Variablen finden Sie im Flag RewriteRule [E].

HINWEIS

Umformulierungsregeln verwenden im Allgemeinen Variablen. Alle CGI-Parameter der aktuellen URL werden automatisch in Variablen umgewandelt. Beispielsweise stellt die Such-URL "https://search.atomz.com/search/?sp_a=sp00000000&sp_q="Product"&session=1234&id=5678" automatisch vier Variablen bereit, auf die in den Umformulierungsregeln 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 ${NAME_OF_FUNCTION:key}, wobei NAME_OF_FUNCTION:

  • tolower macht alle Zeichen in Kleinbuchstaben key.
  • toupper macht alle Zeichen in Großbuchstaben key.
  • escape-URL-kodiert alle Zeichen in key. 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.

​CondPatternis 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 wörtlich 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 []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 CGI-Variable "sessionid"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 Variable RewriteCond untersucht die Variable sessionid (%{sessionid}). Wenn es mindestens ein Zeichen enthält (.+), dann stimmt RewriteRule überein.

Wenn die Suchergebniskennung "https://search.atomz.com/search/?sp_a=sp99999999&sp_q=word&sessionid=5678" lautet, werden alle Suchergebnis-URLs so umgeschrieben, dass der “sessionid”-Wert "5678"anstelle des “sessionid”-Werts ist, auf den der Suchroboter gestoßen ist, als 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 Abfragen-Argumenten, bei denen Sitzungs-ID-Informationen häufig aufbewahrt werden.

So fügen Sie URL-Regeln für die Suche hinzu:

  1. Klicken Sie im Produktmenü auf Settings > Rewrite Rules > Search URL Rules.

  2. Geben Sie im Feld Search URL Rules die gewünschten Regeln ein.

    Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig.

  3. (Optional) Geben Sie auf der Seite Search URL Rules im Feld Test Search URL Rules eine Test-URL ein, deren Crawl-Regeln Sie testen möchten, und klicken Sie dann auf Test.

  4. Klicken Save Changes.

  5. (Optional) Erstellen Sie Ihren Stage-Site-Index neu, wenn Sie die Vorschauen durchführen möchten.

    Siehe Konfigurieren eines inkrementellen Indexes einer gestaffelten Website.

  6. (Optional) Führen Sie auf der Seite Search URL Rules 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 Directive

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]

​MusterEin 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.

Siehe Reguläre Ausdruck.

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.

​SubstitutionDer Titel wird vollständig durch die Ersatzzeichenfolge ersetzt, die Folgendes enthalten kann:

Text - Text, der unverändert übergeben wird.

  • Rückverweise - Gewähren Sie 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).

​VariablenDies sind Variablen des Formulars %{NAME_OF_VARIABLE}, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Umgebung finden Sie unter [E]. Variablen können auch im Suchformular definiert werden, das die Suchergebnisse generiert hat.

​FunktionenDies sind Funktionen des Formulars ${NAME_OF_FUNCTION: key}, wobei NAME_OF_FUNCTION:

  • tolower macht alle Zeichen in Kleinbuchstaben key.
  • toupper macht alle Zeichen in Großbuchstaben key.

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 [] 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 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 die Variable "Umgebung"fest.

Dieses Flag erstellt eine Umgebungsvariable "VAR", die auf den Wert VAL gesetzt wird, wobei VAL reguläre Ausdruck-Rückverweise, $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.

​VariablenDies sind Variablen des Formulars %{NAME_OF_VARIABLE}, wobei NAME_OF_VARIABLE eine Zeichenfolge für den Namen einer definierten Variablen sein kann. Weitere Informationen zum Festlegen von Umgebung finden Sie unter [E]-Flag. Variablen können auch im Suchformular definiert werden, das die Suchergebnisse generiert hat.

​FunktionenDies sind Funktionen des Formulars ${NAME_OF_FUNCTION:key}, wobei NAME_OF_FUNCTION:

  • tolower macht alle Zeichen in Kleinbuchstaben key.
  • toupper macht alle Zeichen in Großbuchstaben key.
  • escape-URL-kodiert alle Zeichen in key.
  • 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.

​CondPatternEin 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 wörtlich 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 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 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: "Meine Firma"gefolgt von einem Bindestrich und einer seitenspezifischen Beschreibung ("Meine Firma - Willkommen"oder "Meine Firma - Neuigkeiten"). Sie möchten "Meine Firma -" 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 dem Titelinhalt entspricht, der auf "Meine Firma-"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 wird die

(${toupper:**$1**})

überschreibt diesen Rückverweis ($1) mit der Toupper-Funktion.

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 im Feld Search Title Rules die gewünschten Regeln ein.

    Leere Zeilen und Kommentarzeilen, die mit einem "#"(Hash) beginnen, sind zulässig.

  3. (Optional) Geben Sie auf der Seite Search Title Rules im Feld Test Search Title Rules einen Testtitel ein und klicken Sie dann auf Test.

  4. Klicken Save Changes.

  5. (Optional) Erstellen Sie Ihren Stage-Site-Index neu, wenn Sie die Vorschauen durchführen möchten.

    Siehe Konfigurieren eines inkrementellen Indexes einer gestaffelten Website.

  6. (Optional) Führen Sie auf der Seite Search Title Rules einen der folgenden Schritte aus:

Auf dieser Seite