Supportnet / Forum / Webseiten/HTML
URL mit JavaScript beeinflussen
Frage
Hallo Leute,
ich habe mir eine Seite in 3 Sprachversionen erstellt. Jede Version liegt in einem eigenen Ordner auf dem Server (de/, en/, fr/).
Dann habe ich eine .htaccess geschrieben:
[code]
# Einstellungen fuer alternative Inhalte
AddType application/x-type-map var
Options +MultiViews
DirectoryIndex index
[/code]
und eine index.var
[code]
URI: index; vary="type,language"
URI: de/index.htm
Content-type: text/html; qs=0.8
Content-language: de
URI: fr/index.htm
Content-type: text/html; qs=0.8
Content-language: fr
URI: en/index.htm
Content-type: text/html; qs=0.8
Content-language: en
[/code]
Nun sollte der Benutzer der www.server.de eingibt, auf die Seite geleitet werden dessen sprache im Browser als bevorzugte eingerichtet ist. Das funktionniert auch so weit.
Das Problem ist nun, das der Browser als adresse www.server.de hat, er aber in wirklichkeit auf www.server.de/de ist. Wenn ich nun auf den link downloads.htm klicke fordert der browser www.server.de/downloads.htm stat www.server.de/de/downloads.htm an.
Gibt es eine möglichkeit, vielleicht per JavaScript, dem Browser zu sagen wo er sich gerade befindet?
mfg
Dramirak
Antwort 1 von mb0156ba
mit java-script wüsst ich jetzt nix...aber cgi und/oder php...
n kleines script, dess nur die umgebungsvariable PATH_INFO entsprechend verarbeitet...von da aus kannste dann zum richtigen verzeichnis linken...
is nur ne idee...
n kleines script, dess nur die umgebungsvariable PATH_INFO entsprechend verarbeitet...von da aus kannste dann zum richtigen verzeichnis linken...
is nur ne idee...
Antwort 2 von Dramirak
Mein Server unterstützt leider kein php.
Antwort 3 von mb0156ba
dann eben cgi...das unterstützt idr jeder...
is auch ned so arg viel schwerer...
is auch ned so arg viel schwerer...
Antwort 4 von Dramirak
ich kenne mich mit cgi überhaupt nicht aus, könntest du das etwas ausführlicher darstellen?
Antwort 5 von mb0156ba
wennst mir noch ma genau schreibst, was du nun machen willst...
also, dass du den besucher nach belieben auf die geeignetste seite umleitest habsch schon geschnallt...:)
aber wo liegt nun "downloads.htm"?? is die für alle drei(?) versionen gleich??
und hast du vielleicht nur n fehler inner relativen(?) verlinkung?
kannst mir ja ma n paar infos zukommen lassen und dann könn mer uns nochma n kopf zerbrechen...
ansonsten einfach n kleines cgi-script in c oder perl (je nach server), des automatisch gestartet wird...
...
char* cpVariable = getenv(PATH_INFO);
...
aber vielleicht kommen wir auch ohne cgi/php/java/usw ans ziel...mit etwas mehr infos...
also, dass du den besucher nach belieben auf die geeignetste seite umleitest habsch schon geschnallt...:)
aber wo liegt nun "downloads.htm"?? is die für alle drei(?) versionen gleich??
und hast du vielleicht nur n fehler inner relativen(?) verlinkung?
kannst mir ja ma n paar infos zukommen lassen und dann könn mer uns nochma n kopf zerbrechen...
ansonsten einfach n kleines cgi-script in c oder perl (je nach server), des automatisch gestartet wird...
...
char* cpVariable = getenv(PATH_INFO);
...
aber vielleicht kommen wir auch ohne cgi/php/java/usw ans ziel...mit etwas mehr infos...
Antwort 6 von Dramirak
Eigentlich habe ich das oben schon alles erklärt. Ansonsten schau dir die Seite nochmal online an. Den Link findest du in meinem Profil.
Antwort 7 von mb0156ba
mach doch ma folgendes:
<td class="elements"><a class="elements" href="de/downloads.htm">Downloads</a></td>
du entschuldigst, wenn ich dir gerade deinen code geklaut habe...also des stückl da gerade hall...;)
aber einfach vor n link auf downloads noch ne de/ einfügen...
evtl noch so propbieren:
/de/downloads.htm
dürfte aber ned zwingend notwendig sein...
<td class="elements"><a class="elements" href="de/downloads.htm">Downloads</a></td>
du entschuldigst, wenn ich dir gerade deinen code geklaut habe...also des stückl da gerade hall...;)
aber einfach vor n link auf downloads noch ne de/ einfügen...
evtl noch so propbieren:
/de/downloads.htm
dürfte aber ned zwingend notwendig sein...
Antwort 8 von mb0156ba
musst hall für die anderssprachigen seiten jeweils entsprechend ändern...
mit
en/downloads.htm
und
fr/downloads.htm
mit
en/downloads.htm
und
fr/downloads.htm
Antwort 9 von Dramirak
Ne das ist quatsch. Danke trotzdem,
Hat jemand anderes eine Idee?
Hat jemand anderes eine Idee?
Antwort 10 von Dramirak
niemand da der das Problem versteht?
Antwort 11 von Dr.Ma-Busen
Moin!
Eine möglichkeit, du erstellst zusätzliche Index Dateien in der du mit JavaScript und Metarefresh (und auch ein link, falls jemand beides abgestellt hat)auf die eigentliche Indexseite weiterleiteste.
Andere möglichkeit, du machst das mit Rewrite engine des Servers. Da gibt es eine Umgebungsvariable HTTP_ACCEPT_LANGUAGE die du auswerten kannst und dann auf die entsprechende Seite weiterleiten kannst.
Oder wie schon erwähnt mit einer Serverseitigen Scriptsprache (PHP/Perl)
Aber vielleicht geht das ganze auch irgendwie mit der Methode die du sie schon verwendest, aber ich weiß jetzt nicht wie. Habe leider hier kein Apache installiert um das zu testen.
MfG
Dr. Ma-Busen
Eine möglichkeit, du erstellst zusätzliche Index Dateien in der du mit JavaScript und Metarefresh (und auch ein link, falls jemand beides abgestellt hat)auf die eigentliche Indexseite weiterleiteste.
Andere möglichkeit, du machst das mit Rewrite engine des Servers. Da gibt es eine Umgebungsvariable HTTP_ACCEPT_LANGUAGE die du auswerten kannst und dann auf die entsprechende Seite weiterleiten kannst.
Oder wie schon erwähnt mit einer Serverseitigen Scriptsprache (PHP/Perl)
Aber vielleicht geht das ganze auch irgendwie mit der Methode die du sie schon verwendest, aber ich weiß jetzt nicht wie. Habe leider hier kein Apache installiert um das zu testen.
MfG
Dr. Ma-Busen

