Hallo
<?php $fehlt = array // Liste aller URLs, die umgeletet werden sollen ( '/shop/abteilung/superprodukt.html' => '/shop/abteilung/neuheit.html', // passender Ersatzartikel '/shop/abteilung/top-angebot.html' => '/shop/abteilung/S2000XL.html', // passender Ersatzartikel '/shop/abteilung/knueller.html' => '/suche' // keine Entsprechung da ); // prüfen, ob ursprünglich angefragte URL als Schlüssel im Array $fehlt vorkommt if (isset($fehlt[$_SERVER['REQUEST_URI']]) { // HTTP-Header für Status 301 mit Redirect senden, Ersatz-URL aus Array holen header('Location: http://example.net' . $fehlt[$_SERVER['REQUEST_URI']]); exit; // Script beenden }
Obwohl ich ja kein PHP kann, versuche ich gerade mal zu verstehen, was das Script da macht. Im Großen und Ganzen kapiere ich das auch.
Nur eines kapiere ich nicht. Woher weis das Script denn (nach dem if), dass es in den Array-Zeilen immer nur nach der URL vor dem "=>" suchen soll?
Und woher weis es, dass die Ziel URL der Teil hinter dem "=>" ist? Ich meine, weil ja da beides mal "$fehlt[$_SERVER['REQUEST_URI']]" steht.
Gruß Ingo