Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

RedirectMatch

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
neffetshd
PostRank 4
PostRank 4
Beiträge: 134
Registriert: 30.05.2009, 08:01
Wohnort: Heidelberg

Beitrag von neffetshd » 21.06.2011, 15:34

Ich möchte in der .htaccess-Datei den StatusCode 310 zurückgeben für bestimmte URLs. Ein Beispiel sind alle Seiten, die im Verzeichnis "bewertung" liegen:

Code: Alles auswählen

RedirectMatch Gone /bewertung/(.*)/(.*)
Das klappt auch wunderbar - wenn ich eine URL aufrufe, die im Verzeichnis "bewertung" liegt, bekomme ich "Gone" angezeigt. So soll es sein.


Jetzt dachte ich mir, ich würde diesen Status Code gerne für alle URLs zurückgeben, die ein Fragezeichen irgendwo zwischendrin enthalten. Dafür haben ich folgende Zeile geschrieben, die aber nicht funktioniert:

Code: Alles auswählen

RedirectMatch Gone /(.*)\?(.*)

Davon habe ich auch unzählige Variationen probiert. Woran kann es denn ligen, dass es nicht funktioniert? Ist es vllt. gar nicht möglich mit "RedirectMatch" URLs zu entfernen, die ein bestimmtes Zeichen beinhalten?

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 21.06.2011, 15:50

RedirectMatch arbeitet nur auf Dateinamen - das Fragezeichen ist aber nicht Teil des Dateinamens.

Daher hilft hier nur Mod_Rewrite

Z.B.:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule ^(.*)$ - [G]
Überlegenswert wäre aber, ob Du stattdessen die URL mit Parameter auf die URL ohne Parameter umleiten willst, falls dort tatsächlich der korrekte Inhalt vorhanden ist. also abc.html?wie=was auf abc.html

Dann müsstest Du es so z.B. abändern:

Code: Alles auswählen

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

neffetshd
PostRank 4
PostRank 4
Beiträge: 134
Registriert: 30.05.2009, 08:01
Wohnort: Heidelberg

Beitrag von neffetshd » 21.06.2011, 16:35

Vielen Dank, chris21,

es ist schon Mal viel wert zu wissen, dass RedirectMatch nicht mit einzelnen Zeichen funktioniert.

Ich möchte den Status Code 410 zurückgeben, um die URLs schnell aus den Suchergebnissen zu entfernen.

Mit deinem Code ist die Startseite aufrufbar, aber alles im Verzeichnis "thema" ist nicht zugänglich.

Wie würde das denn aussehen, wenn man nur die URLs als "Gone" markiert, die ein Fragezeichen beinhalten?

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 21.06.2011, 18:39

Äh,

weiß gerade, was Du da bastelst, aber dieser Code hier:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule ^(.*)$ - [G] 
besagt: wenn ein Query-String (d.h. Parameter hinter nem ?) vorhanden sind, dann soll die Seite nen 410er bekommen.

Wie ist denn der Inhalt im Ordner Thema?

Was laufen da sonst für Regeln?

Arbeitest Du z.B. mit Wordpress?

Da würde die Regel immer greifen, da Wordpress ja intern alles auf die index.php?irgendwas wuppt - und dann würde die Regel von oben greifen.

In diesem Falle solltest Du die Regel vor den Wordpress htaccess Regeln einbauen:

Alternativ kannst Du auch folgendes versuchen:

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^(.+)$
RewriteCond %{REQUEST_URI} !^/index.php$
RewriteRule ^(.*)$ - [G]

neffetshd
PostRank 4
PostRank 4
Beiträge: 134
Registriert: 30.05.2009, 08:01
Wohnort: Heidelberg

Beitrag von neffetshd » 21.06.2011, 22:17

Also, in den Suchergebnissen gibt es etliche URLs, die ungefähr so aufgebaut sind:

www. MEINE DOMAIN .de/index.php?rating&tid=12&aid=12

Und ich wollte eigentlich nur diesen 410-Status für alle URLs ausgeben, die ein Fragezeichen ? haben.
Alternativ gehen auch & oder =

Das Problem ist, ich kenne mich nicht aus mit .htaccess und Wordpress habe ich nicht. Da wird das Cake Framework verwendet.

Der Inhalt im Ordner "thema" sind ganz normale URLs - augenscheinlich. Wobei ich nicth weiß, ob die irgendwie weitergeleitet werden. Es laufen aber ganz viele Weiterleitungen in der .htaccess...

Vllt. klappt es ja, wenn du mir erklärst, wie man die Regel vor den anderen Regeln einbaut?

VG

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 21.06.2011, 23:38

Ohne den Inhalt der htaccess zu kennen, wird man Dir da vermutlich nicht helfen können - da wird sich etwas gegenseitig beeinflußen.

Am Besten wäre, Du schickst mir mal den Inhalt der htaccess per pm - dann kann ich dafür einen Regelsatz entwickeln, um den 410 für Parameter auszugeben, ohne dass dadurch andere Sachen blockiert werden.

neffetshd
PostRank 4
PostRank 4
Beiträge: 134
Registriert: 30.05.2009, 08:01
Wohnort: Heidelberg

Beitrag von neffetshd » 22.06.2011, 08:13

Alles klar, ich hab dir den Inhalt der .htaccess geschickt.

Danke im Vorauus

neffetshd
PostRank 4
PostRank 4
Beiträge: 134
Registriert: 30.05.2009, 08:01
Wohnort: Heidelberg

Beitrag von neffetshd » 22.06.2011, 11:37

DAnke Chris, das war genial. So eine schnelle Problemlösung würde man sich immer wünschen!

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag