XTCsid aus dem Google index entfernen

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

XTCsid aus dem Google index entfernen

Beitragvon trendy » 01.10.2009 14:07

Eine Zeit lang lief mein XT Shop mit folgendem Code in htaccess hervorragend:

Code: Alles auswählen
RewriteCond %{QUERY_STRING} XTCsid
RewriteCond %{HTTP_USER_AGENT} Googlebot
RewriteRule .* http://%{HTTP_HOST}/? [R=301]


Nun greift dieser aber scheinbar nicht mehr und ich finde wieder vermehrt Session IDs im Google Index.

Es sieht so aus als wäre früher die Variable XTCsid in Query String gewesen und nun in der Request URI
Beispiel:
Code: Alles auswählen
http://www.energytrend.de/shop/product_info.php/info/p137_Figur%20Erbsensuppe.html/XTCsid/e95e02d2acc83e705fce39228f57d7d8


Welche RewriteCond benötige ich nun, um die Sessions IDs wieder aus dem Google Index verschwinden zu lassen?

Danke für Eure Hilfe
trendy
.
.
 
Beiträge: 6
Registriert: 14.02.2009 14:43

Beitragvon Gumbo » 05.10.2009 16:42

Code: Alles auswählen
RewriteCond %{HTTP_USER_AGENT} Googlebot
RewriteRule ^(.*/)?XTCsid/[^/]+$ http://%{HTTP_HOST}/$1 [R=301]
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitragvon trendy » 05.10.2009 17:03

Vielen Dank, nur noch eine kurze Frage:

Gehört das Fragezeichen in der Rule vorne wirklich dazu (meine Session IDs beinhalten ja kein Fragezeichen)?

Danke und Grüße
trendy
.
.
 
Beiträge: 6
Registriert: 14.02.2009 14:43

Beitragvon Gumbo » 05.10.2009 17:20

Das Fragezeichen ist bei regulären Ausdrücken ein Metazeichen (genauer: ein Quantor) und beschreibt, dass der vorhergehende Ausdruck kein oder einmal wiederholt werden darf, somit also optional ist. In diesem Fall soll es das „XTCsid“ als Pfadsegment an beliebiger Position erlauben.
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitragvon trendy » 07.10.2009 08:06

Ein kleines Problem habe ich leider noch, mit dem ich nicht alleine klar komme (gerade beim Testen rausgefunden)

Nehmen wir wieder als Beispiel die URL
Code: Alles auswählen
http://www.energytrend.de/shop/product_info.php/info/p137_Figur%20Erbsensuppe.html/XTCsid/e95e02d2acc83e705fce39228f57d7d8


Ich habe jetzt in der htaccess folgendes drin:
Code: Alles auswählen
RewriteCond %{HTTP_USER_AGENT} Googlebot
RewriteRule ^(.*/)?XTCsid/[^/]+$ http://%{HTTP_HOST}/$1 [L,R=301]

Das L ganz am Ende musste noch mit dazu, da sonst im Statuscode 302 Found raus kam.

Wenn ich nun bei Web-Sniffer den Googlebot abfrage erhalte ich folgendes Ergebnis:
Code: Alles auswählen
HTTP Status Code: HTTP/1.1 301 Moved Permanently 
Date: Wed, 07 Oct 2009 07:03:31 GMT 
Server: Apache/2.0.54 (Debian GNU/Linux) FrontPage/5.0.2.2635 mod_python/3.1.3 Python/2.3.5 PHP/4.3.10-22 mod_ssl/2.0.54 OpenSSL/0.9.7e mod_perl/1.999.21 Perl/v5.8.4 
Location: http://www.energytrend.deshop/product_info.php/info/p137_Figur Erbsensuppe.html/ 
Content-Length: 290 
Connection: close 
Content-Type: text/html; charset=iso-8859-1


Das Problem ist jetzt noch, dass am Ende der richtigen URL ein Trailing Slash angehängt wird. Wie komme ich diesen noch raus?
trendy
.
.
 
Beiträge: 6
Registriert: 14.02.2009 14:43

Beitragvon Gumbo » 07.10.2009 17:40

Code: Alles auswählen
RewriteCond %{HTTP_USER_AGENT} Googlebot
RewriteRule ^(.*[^/])?/?XTCsid/[^/]+$ http://%{HTTP_HOST}/$1 [L,R=301]
Markus Wulftange
Gumbo
Moderator
Moderator
 
Beiträge: 5019
Registriert: 07.01.2005 01:18
Wohnort: Trier

Beitragvon trendy » 08.10.2009 07:53

Super, vielen Dank, das funktioniert jetzt perfekt :D
trendy
.
.
 
Beiträge: 6
Registriert: 14.02.2009 14:43


Zurück zu Programmierung & Scriptanpassung für mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron