Sandy: 1 Verzeichnis mit 2 URL's -> verschiedene "index"-Dateien

Hallo liebe Forum'ler,

für ein Schulprokekt habe ich eine mehrsprachige Website kreiert. Die Content-Seiten sind aufgebaut nach dem Prinzip:
domainname.tld/de
domainname.tld/fr
domainname.tld/en

In unserem Hosting-Account liegen zwei Domainnamen:
domainname.de
domainname.org

Beide haben das Startverzeichnis "root". In diesem Root-Verzeichnis habe ich zwei Dateien angelegt: index_de.htm und index_fren.htm.

Ein Bekannter meinte nun, dass man mittels einer .htaccess-datei, die man in das Root-Verzeichnis legt, anweisen könnte, dass beim aufruf von domainname.de die Datei index_de.htm angezeigt wird und beim Aufruf von domainname.org die Datei index_fren.htm.

Mein Problem ist nur, dass er mir nur sagte, DASS es geht, nicht aber WIE.

Über die Suche und in SelfHTML habe ich auch nichts gefunden. Kann mir jemand von euch sagen, wie das funktioniert?

Vielen lieben Dank schonmal -
Sandy

  1. Sandy,
    Apache : Content Negotiation
    und
    W3C I18N Topic Index: Language
    dürften weiterhelfen.
    Gunnar

    --
    I never intended HTML source code (the stuff with the angle brackets) to be seen by users. […] To my surprise, people quickly became familiar with the tags and started writing their own HTML documents directly. (Tim Berners-Lee in Weaving the Web)
    1. Hallo Gunnar,

      Apache : Content Negotiation
      und
      W3C I18N Topic Index: Language
      dürften weiterhelfen.

      Leider nein. Das sagt mir alles überhaupt nichts. Ich habe sowas noch nie gemacht und verstehe noch nicht mal die Begriffe, die dort benutzt werden.
      Kann mir denn keiner in einfachen Worten erklären, wie das, was ich will, geht?!?!

      Danke nochmal -
      Sandy

      1. Hallo Sandy,

        auch wenn ich Gunnars Lösungsweg nicht zwingend teilen würde, so ist er jedenfalls gangbar; im übrigen bin ich auch einer Auswahl gesteuert durch HTTP-Requests zugeneigt. Leider findet dies seltenst statt und selbst deutschsprachige Entwicker erstellen nur eine englischsprachige Dokumentation...

        Das sagt mir alles überhaupt nichts. Ich habe sowas noch nie gemacht und verstehe noch nicht mal die Begriffe, die dort benutzt werden.

        Du kannst u. a. auch http://httpd.apache.org/docs/mod/mod_rewrite.html nutzen, aber es gibt noch mehrere andere Möglichkeiten.

        Offen gestanden wollte ich Dich mit diesem Satz so stehen lassen, denn auch eine fertige Lösung wird DICH nicht weiter bringen - nur eben das Problem lösen.
        Es gibt zu jeder durch Software zu lösenden Problemstellungen entsetzlich viele verschiedene Lösungswege. Jede wird ihre Vorteile und Nachteile haben. Manche werden Paris -> Erkner -> Rom )¹ als Lösungsweg gehen, andere müssen diesen Weg sogar gehen. Abhängig ist dies aber von dem eigentlich zu Lösenden Problem, welches weitere, abhängig von vorab zu klärende Faktoren, Probleme mit sich bringen kann. Leider bennenst Du diese Faktoren nicht in Deinem Problemvortrag.

        Kann mir denn keiner in einfachen Worten erklären, wie das, was ich will, geht?!?!

        Du wirst Dich bei dem Hoster ersteinmal erkundigen müssen, welcher Server (die Software [und deren Erweiterungen {Module}]) aus dem DocRoot-Verzeichnis serviert. Jenachdem, wirst Du dann weitere Hilfestellungen hier erhalten können.

        Gruß aus Berlin!
        eddi

        --
        [1] Berliner Sprichwort

        1. Hallo Eddi,

          auch wenn ich Gunnars Lösungsweg nicht zwingend teilen würde, so ist er jedenfalls gangbar;

          Nur – wie gesagt – sind das behmische Derfer fir mich :-)

          und selbst deutschsprachige Entwicker erstellen nur eine englischsprachige Dokumentation...

          Na klasse...

          Du kannst u. a. auch http://httpd.apache.org/docs/mod/mod_rewrite.html nutzen

          Hab ich mir angeschaut. Aber auch hier: Nix verstehn in Athen *g*

          denn auch eine fertige Lösung wird DICH nicht weiter bringen - nur eben das Problem lösen.

          Aber genau damit WÄRE mir geholfen!

          Du wirst Dich bei dem Hoster ersteinmal erkundigen müssen, welcher Server (die Software [und deren Erweiterungen {Module}]) aus dem DocRoot-Verzeichnis serviert.

          Na dann: Es ist ein Apache-Server und "mod_rewrite" (ein Hoch auf die Suchfunktion im Forum meines Hosters!) ist offenbar aktiviert.
          Hilft das?

          Jenachdem, wirst Du dann weitere Hilfestellungen hier erhalten können.

          Da bin ich aber gespannt! Ich weiß, dass hier gerne nur geholfen wird, indem man Links setzt auf Seiten, bei denen man nachlesen kann, wie es gemacht wird. Aber ich habe die Hoffnung, dass jemand ein Einsehen mit einer kleinen Novizin hat und mir sagen kann, was ich tun muss, um die die oben beschriebene Wirkung zu erzielen.

          Vielen Dank nochmal im Voraus -
          Sandy

      2. Sandy,
        Erstelle doch mal 4 Testdateien*:

        (1) langext.en.html:
            <html>englisch</html>

        (2) langext.de.html:
            <html>deutsch</html>

        (3) extlang.html.en:
            <html>englisch</html>

        (4) extlang.html.de:
            <html>deutsch</html>

        und lade sie auf den Server.

        Was bekommst du angezeigt, wenn du langext.html bzw. extlang.html aufrufst?

        Gunnar

        * Nicht, dass das valides HTML wär, aber für Testzwecke soll es mal reichen.

        --
        I never intended HTML source code (the stuff with the angle brackets) to be seen by users. […] To my surprise, people quickly became familiar with the tags and started writing their own HTML documents directly. (Tim Berners-Lee in Weaving the Web)
  2. Hallo Sandy,

    Ein Bekannter meinte nun, dass man mittels einer .htaccess-datei, die man in das Root-Verzeichnis legt, anweisen könnte, dass beim aufruf von domainname.de die Datei index_de.htm angezeigt wird und beim Aufruf von domainname.org die Datei index_fren.htm.

    hier mal ein Lösungsversuch statt nur gut gemeinter Links...
    Die .htaccess-Datei solltest du folgendermaßen füllen:

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.domainname.de
    RewriteRule  ^/$ /index_de.htm [L]
    RewriteCond %{HTTP_HOST} ^www.domainname.org
    RewriteRule  ^/$ /index_fren.htm [L]

    Probier's aus - das sollte funktionieren (hoffe ich...)!
    Gruß -
    Sebastian