E.T.: RedirectMatch mit Frameloader?

Hallo!

Ich möchte demnächst meine Seite von *.htm auf *.php umstellen. Dass das mit .htaccess sehr elegant realisiert werden kann, dass die alten Links erhalten bleiben, weiß ich bereits. Das Problem ist aber, dass meine Seite einen Frameloader hat, so dass 95% aller Verweise auf meine Internetpräsenz wie folgt aussehen: http://www.meine-seite.de/test/index1.htm?/test.htm

Wenn ich mit RedirectMatch htm auf php umleite:

bsp:

RedirectMatch  ^/test/([a-zA-Z0-9_-]*).htm$  /test/$1.php

lande ich im o.g. Fall hier: http://www.meine-seite.de/test/index1.php

Gibt es in diesem Fall überhaupt eine Möglichkeit, auf test.php zu verweisen, ohne auf Meta-Refresh zurückgreifen zu müssen?

mfg

E.T.

  1. Hi E. T.!

    Es gibt da eine recht gute Möglichkeit dem ganzen Herr zu werden. Das Problem scheint umfangreich - die Lösung aber nicht ;) Ein Haken hat die Sache!!!!!
    Alle seiten, die vorher NAME.htm hießen, müssen dann NAME.php (NAME === NAME) heißen. Sonst gehen Dir die ganzen Verweise in den Suchmaschinen flöten und nix funktioniert.

    Lege eine .htaccess in Dein Stammverzeichnis mit dem Inhalt:

    ErrorDocument 404 /404.php

    Und natürlich die 404.php mit fogenden Inhalt:

    <?php
    $neue_datei = explode (".",$REQUEST_URI);   //gibt den reinen Phad + Dateinamen wieder aber ohne die Dateiendung

    if(($neue_datei[1]=="htm")||($neue_datei[1]=="html"))  //ein ErrorDocument nimmt Errors von allen Dateitypen an (!!!!!!!!) daher selektieren
     $neue_datei = $neue_datei[0]."php";
    else        //else{} muß nicht sein, aber da man sonst in eine leere Seite blickt...
     echo "z. B. : Diese Datei gibt es nicht";

    if(is_file($neue_datei))     //auch wenn dies nicht wirklich von bedeutung ist, spart dem user eine unnötige Weiterleitung ins leere
     echo "<UMLEITUNGSKONSTRUKT> (Java, <meta>, ...)"; // head(location....) funkrioniert leider nicht; warum? k. A.
    ?>

    Gruß aus Berlin
    eddi