Olli_S: Seitenaufrufe ohne ".html" ????

Hallo !

Ich habe auf meiner Seite mehrere Menüpunkte (Download, Forum, Chat).
Der User soll diese Bereiche direkt per URL anspringen können.

Meomentan ist das mit der URL folgendermaßen möglich:

www.meine-seite.de/download.html
www.meine-seite.de/forum.html

Dazu habe ich 20 Dateien, die ein Framseset mit dem entsprechenden Inhalt anzeigen.
Funktioniert.

Ich will die Framedateien "download.html", "forum.html" und die 18 weiteren weglassen und sie durch eine PHP ersetzen, die per Parameter die Seite mitbekommt.

Das funktioniert von der Technischen Seite her ganz gut:

www.meine-seite.de/frame.php?seite=download
www.meine-seite.de/frame.php?seite=forum
www.meine-seite.de/frame.php?seite=chat

Mit dieser PHP-Datei kann ich alle Seiten aufrufen, habe aber nur 1 anstelle 19 Dateien.

Der Parameter "?seite=chat" sieht aber furchtbar aus (für den User).

Ist es irgendwie möglich, dass der User

www.meine-seite.de/download
www.meine-seite.de/forum

eintippt (also ohne das ".html"), die Datei "frame.php" mit dem entsprechenden Parameter geladen wird, aber in der URL der Text vom User stehen bleibt (also "www.meine-seite.de/download") ?

Ich habe alle Dateien im Root-Verzeichnis.

Wenn der User "www.meine-seite.de/download" tippt, würde der Browser im Verzeichnis "download" die "index.html" laden.

Bei einer Umleitung würde der Parameter aber in der URL stehen beliben.....

Hoffe mich verseht einer und kann mir helfen.

Gruß

OLLI

  1. Hallo Oliver,

    Der Parameter "?seite=chat" sieht aber furchtbar aus (für den User).

    glaub mir, es interessiert den Ottonormaluser überhaupt nicht, ob da
    in der Adressezeile http://domain.xy/download.html oder eben
    http://domain.xy/seite.php?inhalt=download steht. Solange Du noch
    nicht mit Session-ID's o.ä. arbeitest, kannst Du Dir mod_rewrite
    sparen.

    Viele Grüße,
    Stefan

  2. Tag

    Ist es irgendwie möglich, dass der User

    www.meine-seite.de/download
    www.meine-seite.de/forum

    eintippt (also ohne das ".html"), die Datei "frame.php" mit dem entsprechenden Parameter geladen wird, aber in der URL der Text vom User stehen bleibt (also "www.meine-seite.de/download") ?

    Ich habe alle Dateien im Root-Verzeichnis.

    Wenn der User "www.meine-seite.de/download" tippt, würde der Browser im Verzeichnis "download" die "index.html" laden.

    Und genau da mußt Du ansetzen. Erstelle die entsprechenden Unterverzeichnisse (download, forum etc.) und lege jeweils eine index.php drin an. Die braucht damm prinzipiell nur aus der Zeile

    include("../frame.php?seite=dingsbums");

    bestehen. Allerdings mußt Du drauf achten, daß die Refernzierungen von z.B. Grafiken in der frame.php (die ja eine Verzeichnisebene tiefer liegen) auch für die index.php im jeweiligen Unterverzeichnis gelten. wie Du das dann machst bleibt Dir überlassen. Aber nachdem Du sagst, daß eh alle Dateien im Root liegen, kannst Du z.B. einfach src="/meinegrafik.jpg" statt src="meinegrafik.jpg" angeben. Dann passt's.

    Ciao,

    Harry

    Bei einer Umleitung würde der Parameter aber in der URL stehen beliben.....

    Hoffe mich verseht einer und kann mir helfen.

    Gruß

    OLLI

    1. Hallo !

      Und genau da mußt Du ansetzen. Erstelle die entsprechenden Unterverzeichnisse (download, forum etc.) und lege jeweils eine index.php drin an. Die braucht damm prinzipiell nur aus der Zeile

      include("../frame.php?seite=dingsbums");

      bestehen. Allerdings mußt Du drauf achten, daß die Refernzierungen von z.B. Grafiken in der frame.php (die ja eine Verzeichnisebene tiefer liegen) auch für die index.php im jeweiligen Unterverzeichnis gelten. wie Du das dann machst bleibt Dir überlassen. Aber nachdem Du sagst, daß eh alle Dateien im Root liegen, kannst Du z.B. einfach src="/meinegrafik.jpg" statt src="meinegrafik.jpg" angeben. Dann passt's.

      Klingt super und logisch !
      Werde ich heute Abend gleich mal ausprobieren !

      Vielen Dank !!!!

      OLLI

  3. Grüssi,

    www.meine-seite.de/frame.php?seite=download
    www.meine-seite.de/frame.php?seite=forum
    www.meine-seite.de/frame.php?seite=chat

    Mit dieser PHP-Datei kann ich alle Seiten aufrufen, habe aber nur 1 anstelle 19 Dateien.

    Der Parameter "?seite=chat" sieht aber furchtbar aus (für den User).

    Ist es irgendwie möglich, dass der User

    www.meine-seite.de/download
    www.meine-seite.de/forum

    eintippt (also ohne das ".html"), die Datei "frame.php" mit dem entsprechenden Parameter geladen wird, aber in der URL der Text vom User stehen bleibt (also "www.meine-seite.de/download") ?

    Wenn du das wirklich machen willst, müsstest du einiges im Apache rumeditieren, bzw. eine sehr liberal eingestellte htaccess zur Verfügung haben. Falls du das hast, solltest du dich mal näher mit mit MultiViews, Content-Negotiation und Apache-Handlern beschäftigen:

    http://httpd.apache.org/docs/content-negotiation.html
    http://httpd.apache.org/docs/handler.html

    mod_rewrite könntest du dir unter umständen ersparen, leicht wirds jedoch trotzdem nicht. Du solltest dir gut überlegen, ob dir das wirklich _so_ wichtig ist! Denn mir ist es ehrlichgesagt auch ziemlich wurscht was jetzt in der Adressleiste steht, nochdazu wenns eine private Seite ist.

    lg regenfeld

    PS: Es gibt natürlich auch einige gute Gründe sich für so eine Variante zu entscheiden, du kannst deine ja mal aufführen (den mit 'is einfach hässlich' brauchst nicht nochmal anführen ;-)