Arne Depp: Apache, zwei Sprachen, Weiterleitung, Konfuzius

Beitrag lesen

Guten Tag Mitglieder,

ich habe wohl das gleiche Anliegen wie Tario vor ein paar Tagen. Trotz eurer vielen und vor allem kompetenten Antworten, konnte ich das Problem bisher leider immer noch nicht lösen. Es treibt mich so langsam aber sicher in den Wahsinn. Seit Tagen kämpfe ich mich mit 500er und wahnwitzigen Weiterleitungen herum. So langsam weiß ich einfach nicht mehr weiter.

Ich weiß, dass das für einige von euch sicherlich ein alter Hut ist und ihr euch fragen werdet "Was zum Teufel ist denn so schwierig daran?", aber habt Verständnis und lasst Gnade walten, dass dies vielleicht nicht jedem so leicht fällt - und ich bin auf jeden Fall einer von denen.

Das Ziel:

  • Alle Anfragen ohne dem Präfix www
  • Wenn Browser Sprache liefert, dann Weiterleitung auf diese Sprache (zb /de/)
  • Es werden nur de und en unterstützt
  • Im Falle einer nicht unterstützten Sprache soll en genommen werden
  • ..und das ganze wenn möglich in einem Schritt.

Was ich bisher vorzuweisen habe:

Rewrite aktivieren und Default-Path setzen

RewriteEngine on
RewriteBase /

www => ohne www

RewriteCond %{HTTP_HOST} www.exmaple.org$ [NC]
RewriteRule ^(.*)$ http://example.org/$1 [R=301,L]

direkte filezugriffe oder zugriffe auf existierende

ordner ohne weiteres durchleiten

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

alles andere an request-handler deligieren

RewriteRule ^(.*)$ index.php [L,QSA]

So, und an der Stelle, welche mit drei Rauten markiert ist, müsste nun definiert werden, dass anhand der HTTP_ACCEPT_LANGUAGE eine Weiterleitung stattfinden soll.
Doch wie ich das dann letzten Endes noch in eine einzige Abfrage packen soll, ist für mich ein Buch mit sieben Siegeln.

Rumspielereien meinerseits führen alle nicht zum Ergebnis (und die meißten traue ich mich nicht einmal zu zeigen)
#RewriteRule ^/(de|en)/[^/]+/ /$1/index.php [R=301,L]
#RewriteRule ^/%{HTTP_ACCEPT_HEADER}/[^/]+/ /$1/index.php [R=301,L]

Ich wäre wirklich sehr erfreut wenn mich einer hier der Lösung näher bringen könnte.
Recht herzlichen Dank überhaupt schonmal für das Lesen.
Und Danke im Voraus für evtl. Tipps und Lösungsvorschläge.

Liebe Grüße
Arne Depp