Hi,
So, ich habe das nun mal wie folgt umgesetzt:
beim ersten Eintrag fehlt der führende '/' für die Ziel-URL. Das gibt beim Zusammensetzen ein Problem.
<?php $fehlt = array ( '/produkte/pupifax.php' => 'produkte/sm001.php', '/Artikel/300002.shtml' => '/produkte/300002.php', '/Artikel/avp017.shtml' => '/search.php?searchwords=Alien+vs.+Predator' ); if (isset($fehlt[$_SERVER['REQUEST_URI']]) { header('Location: https://spaceart.de' . $fehlt[$_SERVER['REQUEST_URI']]); exit; } header('HTTP/1.0 404 Not Found'); ?>
Sieht ansonsten eigentlich gut aus.
Ich habe den Code ganz oben in meine eigene 505-Fehlerseite gepackt.
Du meinst 404?
Nach dem PHP-Code folgt dann ganz normal der html-Code der 404-Fehlerseite. Und natürlich habe ich in meiner .htaccess-Datei auch das hier: ErrorDocument 404 /error404.php
Aber leider funktioniert das noch nicht. Was habe ich falsch gemacht?
Du hast nicht erklärt, was 'funktioniert nicht' genau bedeutet. Was hast du genau versucht, was ist genau dabei passiert? Wo bist du tatsächlich gelandet? Mit welchem HTTP-Status? Welchen Wert hat $_SERVER['REQUEST_URI'] exakt?
Um das rauszufinden, hilft ein
echo '<pre>*', $_SERVER['REQUEST_URI'], '*</pre>';
am Scriptanfang. Ja, das ergibt ungültiges HTML; ja, dann funktioniert die Umleitung gar nicht mehr; ist ja auch nur zum Debugging. Und die Sternchen sind nur als sichtbare Begrenzer da, damit man sofort sehen kann, ob eventuell noch ein Zeilenumbruch, ein Leerzeichen oder sowas dabei ist.
Ach ja. Zur Zeit ist das nicht online.
Das würde uns auch nur bedingt helfen, weil wir nicht in den PHP-Code reingucken könnten.
So long,
Martin