Frage zu RewriteCond

beeches

Grünschnabel
Hallo zusammen,

nach einer Änderung der Verzeichnisstruktur meiner Website kommt es zur Zeit vor, dass der GoogleBot aufgrund von fälschlich gesetzten Links einigen Content mehrfach indiziert. Das möchte ich mit Hilfe einer RewriteCond lösen, weiß jedoch leider nicht wie ich das anstellen soll.

Die bisherige RewriteRule sieht folgendermaßen aus:

RewriteRule ^script/([1-9][0-9]*)/(.*).html script.php?id=$1

Nun möchte ich dem Crawler mitteilen dass er auf dem Holzweg ist, wenn in der letzten RegEx ein , (Komma) vorkommt und ihn dann nach 404 umleiten.

Hat jemand einen Tip für mich parat?

Danke im Voraus,
beeches
 
Besser wäre es, wenn du den neuen URL angibst und die Umleitung als endgültig auszeichnest, etwa:
Code:
RewriteRule   ^alt$   /neu   [L,R=301]
 
Vielen Dank für die Antwort.

Das Problem ist jedoch, dass es keine wirklich neue URL gibt, da der letzte Teil lediglich der SEO dient. Heißt also, dass der Crowler schon auf der neuen URL ist, diese jedoch wieder und wieder einliest. Um der dadurch entstehenden mehrfachen Indizierung entgegenzuwirken möchte ich im Falle eines Kommas in der zweiten RegEx (da dort nur in der "falschen" URL Kommata vorkommen) einen Code 404 erzwingen.

Grüße,
beeches
 
Der Statuscode 404 selbst kann nicht gesetzt werden. Es gibt jedoch eine Alternative, der Statuscode 410 „Gone“:
Code:
RewriteRule   ,   -   [L,G]
 
Kann man das auch so einschränken, dass es sich ausschließlich auf die zweite RegEx beschränkt?

Danke und Grüße,
beeches
 
Ich meine die zweite RexEx aus:

RewriteRule ^script/([1-9][0-9]*)/(.*).html script.php?id=$1

Grüße,
beeches
 
Bei der „RewriteRule“-Direktive gibt es nur einen regulären Ausdruck. Das andere ist die Ersatzadresse.
 
Nun gut, dann meine ich die zweite Variable(?)... kann man sich auch nur auf diese beziehen?

Grüße,
beeches
 
Zurück