URL Umleitung / Umschreibung automatisiert
Verfasst: 19.04.2010, 17:40
Hallo @all.
Um doppelten Content zu vermeiden möchte ich "falsche URLs" einfangen, diese umschreiben und umleiten.
Bisher habe ich folgendes:
if ($_GET['key'] != preg_replace('#[A-Z]#', '', $_GET['key'])) {
$url = strtolower($_SERVER['REQUEST_URI']); // Lower-URL
$url = str_replace(" ", "+", $url);
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: $url" ); }
Der obige Code schaut nach, ob "key" Großbuchstaben enthält - und wenn ja - werden diese durch Kleinbuchstaben ersetzt und Leerzeichen werden durch ein + ersetzt.
Wie kann ich den Code so umschreiben, das auch bei Leerzeichen im "key" dieses durch ein + ersetzt wird.
Beispiel:
/search.php?do_search=1&searchword=dogo%20canario
bleibt
/search.php?do_search=1&searchword=dogo%20canario
/search.php?do_search=1&searchword=Dogo%20canario
wird
/search.php?do_search=1&searchword=dogo+canario
Ich komme in der URL weder an das Leerzeichen noch an das "%20". Vielleicht mache ich einen einfachen Denkfehler ...
Um doppelten Content zu vermeiden möchte ich "falsche URLs" einfangen, diese umschreiben und umleiten.
Bisher habe ich folgendes:
if ($_GET['key'] != preg_replace('#[A-Z]#', '', $_GET['key'])) {
$url = strtolower($_SERVER['REQUEST_URI']); // Lower-URL
$url = str_replace(" ", "+", $url);
header( "HTTP/1.1 301 Moved Permanently" );
header( "Location: $url" ); }
Der obige Code schaut nach, ob "key" Großbuchstaben enthält - und wenn ja - werden diese durch Kleinbuchstaben ersetzt und Leerzeichen werden durch ein + ersetzt.
Wie kann ich den Code so umschreiben, das auch bei Leerzeichen im "key" dieses durch ein + ersetzt wird.
Beispiel:
/search.php?do_search=1&searchword=dogo%20canario
bleibt
/search.php?do_search=1&searchword=dogo%20canario
/search.php?do_search=1&searchword=Dogo%20canario
wird
/search.php?do_search=1&searchword=dogo+canario
Ich komme in der URL weder an das Leerzeichen noch an das "%20". Vielleicht mache ich einen einfachen Denkfehler ...