Seite 1 von 1

Kleines Mod rewrite Problem

Verfasst: 01.10.2019, 17:49
von Ice Man
Hallo, ich hab ein kleines Problem und komme nicht mehr weiter

Die Strucktur ist ist

domain/marke/audi/
domain/marke/bmw/

per Mod Rewrite wird alles so umgeschrieben

RewriteRule ^marke/([a-z]*)/$ ansicht_marken.php?name=$1 [L]

Es hat jahrelang funktioniert.
Aber seit ein paar Tagen erhalte ich komische Zugriffe.
An die URL werden einfach ein paar Parameter angehangen.
Komischerweise ist es fast immer der Googlebot der die Seiten so aufruft.

domain/marke/?&sa=U&ei=VXAiVddeee&ved=0CCYQFjAD&usg=AFededeCNHded3rVTSI3nvadedwb-wAwbw

Das blöde ist, die Seite wird mit dem Käse auch geladen.
Das ergibt natürlich duplicate Contend.
Ich könnte natürlich per link rel="canonical" das ganze ignorieren.

Aber am liebsten wäre mir, wenn es per 301 direkt auf
domain/marke/ weiterleitet, damit der mist keine Auswirkung hat.

Jemand eine Idee, wie ich die htaccess dafür abändern muss.
Irgendwie bastel ich schon seit 2 Stunden, aber es klappt nicht ;)

Verfasst:
von

Re: Kleines Mod rewrite Problem

Verfasst: 01.10.2019, 18:09
von arnego2
Ice Man hat geschrieben: 01.10.2019, 17:49
Aber seit ein paar Tagen erhalte ich komische Zugriffe.
An die URL werden einfach ein paar Parameter angehangen.
Komischerweise ist es fast immer der Googlebot der die Seiten so aufruft.

domain/marke/?&sa=U&ei=VXAiVddeee&ved=0CCYQFjAD&usg=AFededeCNHded3rVTSI3nvadedwb-wAwbw
Das ist wahrscheinlich eher Google das irgendwo rausliest das es den Link gibt.
Wenn du ihn nicht hast und Google ihn sieht dann liegt die Schuld wohl mal wieder bei Google.

Re: Kleines Mod rewrite Problem

Verfasst: 01.10.2019, 18:32
von supervisior
arnego2 hat geschrieben: 01.10.2019, 18:09
Ice Man hat geschrieben: 01.10.2019, 17:49
Aber seit ein paar Tagen erhalte ich komische Zugriffe.
An die URL werden einfach ein paar Parameter angehangen.
Komischerweise ist es fast immer der Googlebot der die Seiten so aufruft.

domain/marke/?&sa=U&ei=VXAiVddeee&ved=0CCYQFjAD&usg=AFededeCNHded3rVTSI3nvadedwb-wAwbw
Das ist wahrscheinlich eher Google das irgendwo rausliest das es den Link gibt.
Wenn du ihn nicht hast und Google ihn sieht dan liegt die Schuld wohl mal wieder bei Google.
Das hast Du zwar richtig erkannt, dass Google diese URLs irgendwo augefischt hat, aber wenn Du Dir diese GET Parameter mal genauer ansiehst, dann wirst Du feststellen, dass das die gleichen sind, die Google selbst in der Suche verwendet, bzw. ausspuckt. Die müssen aber nicht unmittelbar von Google selbst kommen, sondern werden gern von Spammern genutzt. Eine denkbare Lösung das zu beheben, wäre mittels PHP diese sich wiederholenden GET Parameter abzufragen und dann eine Weiterleitung auf die aufgerufene Seite, aber eben ohne diese Weiterleitung, vorzunehmen.

Re: Kleines Mod rewrite Problem

Verfasst: 01.10.2019, 19:14
von Ice Man
Ja ich denke auch, per Mod Rewrite wird es nicht gehen.
Ich muss wohl in die ansicht_marken.php einen Code Schnipsel einbauen der erkennt, das die URL nicht die "gültige" ist.

Ich hatte in der Mod Rewrite eine 2. Bedingung mal eingebaut, das der QUERY_STRING leer sein Muss.
Da ging dann zwar nur noch die richtige URL, die falsche brachte einen 404.
Aber die weiterleitung ist denke ich die bessere Lösung :)

Re: Kleines Mod rewrite Problem

Verfasst: 01.10.2019, 19:27
von arnego2
supervisior hat geschrieben: 01.10.2019, 18:32 ... aber wenn Du Dir diese GET Parameter mal genauer ansiehst, dann wirst Du feststellen, dass das die gleichen sind, die Google selbst in der Suche verwendet, bzw. ausspuckt.
Ohne das Domain zu kennen?

Verfasst:
von

Re: Kleines Mod rewrite Problem

Verfasst: 01.10.2019, 19:42
von Ice Man
Hier mal meine Lösung die ich aktuell nutze.

Code: Alles auswählen

 $url  = mysqli_real_escape_string($mysqli, $_SERVER['REQUEST_URI']);
 
if(strpos($url,"?")!==false)   { 
 #################
 ## alles vor ? entfernen
  $url_cut_1 = explode('?',$url); 
  $url_cut   = $url_cut_1[0];
 
 $haupturl = "http://www.domain.de".$url_cut."";
  header("HTTP/1.1 301 Moved Permanently"); 
  header("Location:".$haupturl); 
  
 }
Wenn in der Server Variable ein "`?" enthalten ist, wird alles danach abgeschnitten und an die "Haupt URL" weitergeleitet.
Funktioniert soweit, nun muss ich die Scripte anpassen.
Eventuell braucht es ja irgendwann auch wer.

Solltet ihr optimierungen haben, immer her damit :)

Re: Kleines Mod rewrite Problem

Verfasst: 01.10.2019, 19:54
von supervisior
Ice Man hat geschrieben: 01.10.2019, 19:42 Hier mal meine Lösung die ich aktuell nutze.

Code: Alles auswählen

 $url  = mysqli_real_escape_string($mysqli, $_SERVER['REQUEST_URI']);
 
if(strpos($url,"?")!==false)   { 
 #################
 ## alles vor ? entfernen
  $url_cut_1 = explode('?',$url); 
  $url_cut   = $url_cut_1[0];
 
 $haupturl = "http://www.domain.de".$url_cut."";
  header("HTTP/1.1 301 Moved Permanently"); 
  header("Location:".$haupturl); 
  
 }
Wenn in der Server Variable ein "`?" enthalten ist, wird alles danach abgeschnitten und an die "Haupt URL" weitergeleitet.
Funktioniert soweit, nun muss ich die Scripte anpassen.
Eventuell braucht es ja irgendwann auch wer.

Solltet ihr optimierungen haben, immer her damit :)
Auf die Schnelle gechecked geht das so aber nur gut, wenn Du sonst selbst keine eigenen GET Parameter verwendet. Andererseits aber auch egal, weil im Zweifelsfalle die Seite einfach nur neu geladen wird. Die Weiterleitung geht ja nahezu verzögerungsfrei.

Re: Kleines Mod rewrite Problem

Verfasst: 01.10.2019, 20:02
von Ice Man
Ja die Seite wird nicht über GET Parameter geladen oder verändert.

Um oben beim Beispiel zu bleiben, es bleibt immer bei Audi oder BMW, mehr passiert dort nicht :)

Re: Kleines Mod rewrite Problem

Verfasst: 01.10.2019, 22:36
von nerd
Wieso ist das ein problem? Wenn ich irgendwelche parameter an die URL uebergebe die deine seite nicht kennt, dann werden die doch ignoriert...?
Du solltest lieber herrausfinden wie diese links zustandekommen (serverlogs!).

Re: Kleines Mod rewrite Problem

Verfasst: 02.10.2019, 00:17
von Ice Man
das Problem ist, die Seite wird trotz der Parameter geladen.
In der Google Webmaster Console sind einige davon als Duplicate Content gespeichert.

Das geht auch problemlos mit Abakus hier, musst nur den Käse von oben an eine beliebe URL anhängen.
Geht vermutlich mit 80% der Seiten, tausende doppelte Seiten.

Nach etwas überlegen und Googlen hab ich doch eine Modrewrite Lösung hinbekommen

Code: Alles auswählen

RewriteCond %{QUERY_STRING} ^(.*)?&sa=U&ei(.*)?$
RewriteRule ^(.*)$ https://www.domain.de/$1? [L,R=301]
Jetzt wird automatisch alles entfernt.

Wenn man bei Google nach dem String sucht, findet man viele treffer wo es auch passiert ist.
https://www.google.de/search?ei=0dCTXZf ... 9968269181

Re: Kleines Mod rewrite Problem

Verfasst: 02.10.2019, 08:34
von staticweb
> Das geht auch problemlos mit Abakus hier, musst nur den Käse von oben an eine beliebe URL anhängen. Geht vermutlich mit 80% der Seiten, tausende doppelte Seiten.

Das sind alles Parameter die Google bei einem Klick auf ein Suchergebnis in der Suche intern auswertet. Es könnte sich um eines von vielen Google Problemen in der letzten Zeit handeln, wenn es in der GSC erscheint.

Wenn rel canonical korrekt gesetzt ist, sollte es da keine Probleme geben. Falls nicht sollte man unbekannte Parameter halt auf die Seite ohne Parameter weiterleiten. Sollte ja beides kein Problem sein.