Daniel Vieser: Anfragen an alte html-Dateien auf neue php-Dateien leiten

Hallo,

meine Website besteht bislang fast ausschließlich aus html-Dateien, deren Name auf .htm endet. Nun ergibt sich die Notwendigkeit, in manchen Dateien php-Skripte einzusetzen, weswegen ich diese Dateien nun mit der Endung .php versehen muß. Da aber alle Seiten in Suchmaschinen indiziert sind, suche ich nach einer eleganten Methode, wie ich Anfragen an frühere html-Dateien auf die neuerdings auf php endenden Dateien leiten kann. Und zwar, ohne in jede alte html-Datei einen meta-refresh zur neuen php-Datei zu schreiben ;-)

Bin gespannt auf Eure Vorschläge.
Daniel

  1. moin!

    eine möglichkeit wäre, den user direkt per link dahin zu geleiten. schon allein deswegen, damit auch er seine favoriten updaten kann (mit einem kleinen hinweis, dass es die seite nicht mehr gibt und er möge jetzt die neue seinen favoriten hinzufügen).

    eine andere möglichkeit wäre die nutzung von .htaccess. damit kannst du bei einem 404-fehler auf eine bestimmte seite verweisen. in dem fall könnte das eine php-datei sein, die evtl. die angefragte seite ausprobiert und ggf. ein "php" statt html an den den dateinamen dran setzt.

    gruß.
    roger.

    --
    Dein eigenes Newslettersystem auf deiner Homepage: http://newsletter.maennchen1.de
    1. Danke für die Vorschläge. Leider sind beide nicht so elegant, wie ich es mir wünsche.
      zu 1: Es muß ja Lösungen geben, die die alten Links leben lassen können, der User also keinen Fehler bekommt, auch wenn er einen veralteten Link benutzt.
      zu 2: Hilft mir nicht weiter, da ich ein 404-Dokument ja verzeichnisweit wirkt, ich aber eine Umleitung für jede einzelne alte html-Datei brauche.

      Mittlerweile habe ich herausgefunden, daß die Lösung für mein Problem die Nutzung des apache-Moduls mod_rewrite ist: http://www.yubb.de/tutorial53.html (Tutorial) Aber um dieses anzusprechen, brauche meine eigene .htaccess, die mein Provider nicht zuläßt - Mist.

      Danke für Eure Hilfe.
      Daniel

      1. Hi,

        brauche meine eigene .htaccess, die mein Provider nicht zuläßt - Mist.

        wenn der nichtmal das zuläßt, solltest Du ihn einfach wechseln und dann erst mit PHP anfangen.

        freundliche Grüße
        Ingo

      2. Hello,

        bei mir klappt das aber auch nicht:

        http.conf:
        -------------------
        <IfModule mod_userdir.c>
            UserDir public_html
            <Directory /home/*/public_html>
                AllowOverride FileInfo AuthConfig Limit Indexes
                Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
                IndexOptions +IgnoreCase
                <Limit GET POST OPTIONS PROPFIND>
                    Order allow,deny
                    Allow from all
                </Limit>
                <LimitExcept GET POST OPTIONS PROPFIND>
                    Order deny,allow
                    Deny from all
                </LimitExcept>
            </Directory>
        </IfModule>

        .htaccess
        -------------------------
        redirect permantent /home/thomas/public_html/test/apache/redirect/woistdiedatei.html http://selfhtml.bitworks.de/debug/kontrolle.php

        Was ist falsch?

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
  2. Peace

    meine Website besteht bislang fast ausschließlich aus html-Dateien, deren Name auf .htm endet. Nun ergibt sich die Notwendigkeit, in manchen Dateien php-Skripte einzusetzen, weswegen ich diese Dateien nun mit der Endung .php versehen muß. Da aber alle Seiten in Suchmaschinen indiziert sind, suche ich nach einer eleganten Methode, wie ich Anfragen an frühere html-Dateien auf die neuerdings auf php endenden Dateien leiten kann. Und zwar, ohne in jede alte html-Datei einen meta-refresh zur neuen php-Datei zu schreiben ;-)

    Ganz einfach: In Apache Konfigurationsdatei gehen und die Stelle suchen wo man die Dateierweiterungen eintragen kann auf die der PHP Interpreter angesetzt werden soll. Mit .htm und .html erweitern und fertig ist das Gärtenhäuschen. PHP Dateien produzieren letztendlich dann auch HTML für den Browser - heisst, es ist dem Server völlig egal ob da PHP drin ist oder nicht.

    Mit freundlichem Gruß,

    Tilman Porschütz

    1. Hallo Tilman,

      ja, Du meinst also

      AddType application/x-httpd-php .htm

      das wäre in der Tat DIE Lösung, einfacher gehts nicht. Aber mein Provider ermöglicht das nicht. Scheiße, oder?

      Trotzdem vielen Dank.
      Daniel

  3. Hello,

    Bin gespannt auf Eure Vorschläge.

    Und ich bin gespannt auf Deinen ausführlichen Bericht auf meinen ganz einfachen Tip:

    Leg eine .htaccess im Verzeichnis dieser Files an und benutze die Umleitungsfunktion des Servers

    Verscuh es mal hier: http://httpd.apache.org/docs-2.0/mod/mod_alias.html#redirect

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. ja, aber siehe meine Antworten auf die anderen Vorschläge. Trotzdem Danke!
      Daniel