Seite 1 von 1
Andauernder 301er schädlich?
Verfasst: 13.10.2005, 20:37
von ehrlacher
Hi,
ich habe ein Script auf der Seite, dass falsche Query Strings abfängt und umleitet:
if ($_SERVER['QUERY_STRING']<>"")
{header("HTTP/1.1 301 Moved Permanently");
header('Location: '.$_SERVER['QUERY_STRING']);
exit;}
Dummerweise sendet die Seite jetzt den 301er IMMER, auch wenn der Query_String leer ist (Nebenfrage: Hat einer eine Idee, warum?)
Aber meine eigentliche Frage:
Wie reagiert Google darauf, wenn es von der Titelseite (es handelt sich nämlich um die Titelseite) tage- und wochenlang einen 301er bekommt...?
Danke
Frank
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 13.10.2005, 21:24
von jensjk
habe die gleiche Frage, da Ajax auch immer ein 301 sendet, der auf die gleiche Seite zeigt.
[edit]erledigt, der 301 war hausgemacht[/edit]
Andauernder 301er schädlich?
Verfasst: 13.10.2005, 22:50
von Babelfisch
Irgendwie ergibt das keinen wirklichen Sinn, was du da machst.
Wenn du bei einem nicht leeren Query-String auf die gleiche Seite ohne Query-String umleiten willst, würde das in etwa so aussehen:
Code: Alles auswählen
if (!empty($_SERVER['QUERY_STRING'])) {
header('HTTP/1.1 301 Moved Permanently');
header('Location: http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
exit;
}
Allerdings ist mir nicht ganz klar, ob du das jetzt wirklich so wolltest.
Verfasst: 14.10.2005, 11:13
von ehrlacher
Ja, genau das will ich - Danke!
Aber - auch wenn das jetzt ein kleines bisschen OffTopic ist - kannst Du mir erklären, wo der Unterschied zwischen
if (!empty($_SERVER['QUERY_STRING']))
und
if ($_SERVER['QUERY_STRING']<>"")
ist ?
(Und wieso das eine "richtig" funktioniert und das andere wohl nicht ...?
Danke!
Frank
Andauernder 301er schädlich?
Verfasst: 14.10.2005, 11:21
von Babelfisch
empty() liefert FALSE, wenn $_SERVER['QUERY_STRING'] nicht existiert, '' oder 0 ist. Vergleichbar ist es in etwa mit dem Konstrukt:
Code: Alles auswählen
if (isset($_SERVER['QUERY_STRING']) && ($_SERVER['QUERY_STRING'] != '')) { ... }
Also != statt <>