zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden Sind Fehlerseiten in mehreren Sprachen möglich?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 09.01.2008, 23:03
Benutzerbild von paracelsus
be simple
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 16.07.2007
Ort: Kapfenberg - Austria, einige meinen am "Anus Mundi"
Beiträge: 4.788
paracelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nett
Standard Sind Fehlerseiten in mehreren Sprachen möglich?

Servus?

Ich füge gerade meinm CMS eine Sprachen Unterstützung für beliebige Sprachen hinzu.
damit auch in der php generierten Seite Error Meldungen kommen löse ich die per $header aus, dazu im htaccess:
Zitat:
ErrorDocument 404 ...localhost/Projekte/Toowoomba/de-this-is-notfound.html
ErrorDocument 403 ...localhost/Projekte/Toowoomba/de-this-is-forbidden.html
die Bindestriche werden mit mod_rewrite weiter unten umgemodelt.

Gibt es eine Möglichkeit eine Art Weiche hier zu machen, sodass, wenn eine andere Sprache (Beispiel "en") als Parameter hereinkommt, in oben genannten errorURL den parameter "de" in "en" zu ändern?

Oder werde ich wohl oder übel je Error ein 2sprachiges Erordoc bauen müssen?
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 09.01.2008, 23:19
Benutzerbild von Geronimo
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 14.06.2004
Beiträge: 2.641
Geronimo sorgt für eine eindrucksvolle AtmosphäreGeronimo sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von paracelsus Beitrag anzeigen
Oder werde ich wohl oder übel je Error ein 2sprachiges Erordoc bauen müssen?
Was spricht dagegen? Den übergebenen Parameter findest du in $_SERVER['REQUEST_URI'].
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 09.01.2008, 23:36
Benutzerbild von paracelsus
be simple
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 16.07.2007
Ort: Kapfenberg - Austria, einige meinen am "Anus Mundi"
Beiträge: 4.788
paracelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nett
Standard

Zitat:
Zitat von designfanatiker Beitrag anzeigen
Was spricht dagegen? Den übergebenen Parameter findest du in $_SERVER['REQUEST_URI'].
hihi
ja das stimmt schon.
aber es geht hier um eine htaccess datei! Da kann ich nicht einfach so php Code ausführen, das wäre ja einfach.
cu
Mit Zitat antworten
  #4 (permalink)  
Alt 09.01.2008, 23:41
Benutzerbild von Geronimo
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 14.06.2004
Beiträge: 2.641
Geronimo sorgt für eine eindrucksvolle AtmosphäreGeronimo sorgt für eine eindrucksvolle Atmosphäre
Standard

Stimmt. Allerdings kannst du mit einer simplen Abfrage die Sprache des angegebenen Fehlerdokuments ändern.
Mit Zitat antworten
  #5 (permalink)  
Alt 10.01.2008, 11:36
Benutzerbild von paracelsus
be simple
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 16.07.2007
Ort: Kapfenberg - Austria, einige meinen am "Anus Mundi"
Beiträge: 4.788
paracelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nett
Standard

Zitat:
Zitat von designfanatiker Beitrag anzeigen
Stimmt. Allerdings kannst du mit einer simplen Abfrage die Sprache des angegebenen Fehlerdokuments ändern.
Guten Vormittag!

Nun, ich habe da eine dynamische Seite, wenn da ein Link nicht mehr vorhanden ist, wird dennoch das Templat, aber ohne Content, angezeigt.
Deshaln sende ich einen Error Header, damit G++gle auch weiss, das dieser Link nicht mehr vorhanden ist. Sonst würden veraltete Links ja stets Indexiert bleiben. Das ist der Grund warum ich nicht eine Interne Fehlerseuíte erzeuge, wo die Sprache abzufragen ja simpel ist
PHP-Code:
if($_GET['lang']=="de"){blabla
Der gesendete Error Header
PHP-Code:
header("Location: HTTP/1.0 404 Not Found"); 
wirft die Seite an den Anfang, und damit zur htaccess Datei.

Ab diesem Moment "weiß" mein Code nix mehr von der vorher aktiven Sprache.
Annahme: Der User sucht diesen Link (Google oder Bookmark)
Code:
...domain.xy/en-gov-list-humans.html
Die Abfrage erzeugt einen 404, .htaccess leitet um auf Fehler Dokument (Ich kann ja nur eines bestimmen). Theoretisch kann ich hier ein .php angeben, das dann den Inhalt erzeugt und gemäss der Sprache anzeigt, aber:
wie kann ich nun abfragen, ob der User in den Englischen oder Deutschen Bereich der Seite wollte? Der ursprünliche Request wurde ja durch den des Fehlerdokuments aus der .htaccess Datei ersetzt.
Also kann es so gar nicht gehen, es sei denn ich könnte schon beim Senden des 404 mit dem $header einen Parameter mit übergeben.

Oder übersehe ich da was?
Mit Zitat antworten
  #6 (permalink)  
Alt 10.01.2008, 12:38
Benutzerbild von inta
free as in freedom
XHTMLforum-Kenner
 
Registriert seit: 04.12.2006
Ort: Berlin
Beiträge: 5.016
inta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz seininta kann auf vieles stolz sein
Standard

Bei dir läuft doch auch alles über einen zentralen Controller (wahrscheinlich eine index.php), der entscheidet welche Inhalte ausgeliefert werden oder?
Dort findest du ja auch für vorhandene Seiten die Sprache heraus, oder fällst auf dein Default zurück. Ich würde den Controller auch im Fehlerfall ansprechen (sprich als 404 Seite eintragen) und ihn entscheiden lassen welcher Inhalt geliefert wird.

Ich hoffe das war irgendwie doch verständlich, ich muss jetzt erstmal den Knoten aus meinem Hirn bekommen
Mit Zitat antworten
  #7 (permalink)  
Alt 10.01.2008, 12:49
Benutzerbild von paracelsus
be simple
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 16.07.2007
Ort: Kapfenberg - Austria, einige meinen am "Anus Mundi"
Beiträge: 4.788
paracelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nett
Standard

Zitat:
Zitat von inta Beitrag anzeigen
Bei dir läuft doch auch alles über einen zentralen Controller (wahrscheinlich eine index.php), der entscheidet welche Inhalte ausgeliefert werden oder?
Dort findest du ja auch für vorhandene Seiten die Sprache heraus, oder fällst auf dein Default zurück. Ich würde den Controller auch im Fehlerfall ansprechen (sprich als 404 Seite eintragen) und ihn entscheiden lassen welcher Inhalt geliefert wird.

Ich hoffe das war irgendwie doch verständlich, ich muss jetzt erstmal den Knoten aus meinem Hirn bekommen
Genauso will ich es machen.
Das Prob ist - oder wie ich es wahrnehme - das im Fall 404 eine Sprache als GET übergeben werden muss, da sonst der Controler (index.php) nix damit anfangen kann, und wiederum einen 404 schmeisst, sich also im Kriese dreht.

Im Grunde will ich - hätte gerne - das bei einem 404, der Besucher trotzdem in die Website kommt um dort eine Fehlermeldung zu sehen, aber dennoch gleich weiter navigieren kann. Da ich aber von der htaccess eben eine Sprache geliefert kriege, kann es sein, das der Engländer nun im Deutschen Bereich ist - wäre schön wenn dem nicht so wär.

Ich hab grad rumexperimentiert, ich kann keine parameter mit dem $header mitsenden, und in der htaccess damit die Errordocument Anweisung dynamisch umschreiben??
Mit Zitat antworten
  #8 (permalink)  
Alt 10.01.2008, 12:53
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.848
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Per GET kann doch kein Problem sein, denn Deine englischen Inhalte stehen doch sicher in einem entsprechend benannten virtuellen Verzeichnis, oder? Dessen Name wird doch auch per GET übergeben, und schon kannst Du die entsprechende Fehlerseite zuordnen (so mache ich das zumindest).
Mit Zitat antworten
  #9 (permalink)  
Alt 10.01.2008, 13:03
Benutzerbild von paracelsus
be simple
XHTMLforum-Kenner
Thread-Ersteller
 
Registriert seit: 16.07.2007
Ort: Kapfenberg - Austria, einige meinen am "Anus Mundi"
Beiträge: 4.788
paracelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nettparacelsus ist einfach richtig nett
Standard

Zitat:
Zitat von heiko_rs Beitrag anzeigen
Per GET kann doch kein Problem sein, denn Deine englischen Inhalte stehen doch sicher in einem entsprechend benannten virtuellen Verzeichnis? Dessen Name wird doch auch per GET übergeben, und schon kannst Du die entsprechende Fehlerseite zuordnen (so mache ich das zumindest).
Ja und Nein
Ich habe ein URL Konstrukt (oben schon beschrieben)
Code:
...domain.xy/en-gov-list-humans.html
Rot ist die Sprache, dieser Parameter wird dann via php und den Einstellungen in der config aufgelöst, sodass die Inhalte der Page aus der entsprechenden DB kommen (in diesem Fall English) dazu wird denn noch das passende (Englishe) Template - so vorhanden - geladen.

Ist der vorhandene Link aber ungültig, lasse ich einen 404 ausgeben, damit die SUMA das auch mitkriegt, wenn der Besucher auf einen veralteten link dort geklickt hat.

Aber, und das ist ja das Prob, ich muss in der htaccess ein Errordokument angeben (mit dem Sprach Parameter), wenn ich eine eigene Fehlerseite will, zum Beispiel:
Code:
ErrorDocument 404 ...localhost/Projekte/Toowoomba/de-this-is-notfound.html
und dann landet auch einer der die Englische Variante lesen wollte in der hier angegebenen Deutschen, weil man diese Anweisung - nach meinem bisherigen Wissen - nicht dynamisch machen kann.
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 10.01.2008, 13:08
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.848
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Code:
...domain.xy/en-gov-list-humans.html
Na also, das reicht doch schon. Beginnt z.B. REQUEST_URI mit "/en-", kommt die englische Fehlerseite.
Mit Zitat antworten
Sponsored Links
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Meta Tag] language und keywords (lang) mit mehreren Werten möglich? Garlandt (X)HTML 6 28.04.2011 16:05
Website in mehreren Browsern prüfen Angelina (X)HTML 9 11.04.2010 16:23
dynamische CSS-Navigation mit mehreren Navigationsebenen online CSS 1 17.04.2009 12:07
Eigenes 404 Not Found Fehlerseiten? webseite_freaky (X)HTML 8 29.08.2008 21:16
vertikales css block-listenmenü mit mehreren ebenen paxoptimusprime CSS 1 31.03.2008 14:43


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:13 Uhr.