ich brauche mal wieder eure Hilfe bei einer Herausforderung, die mich persönlich derzeit überfordert.
Es geht darum, dass ich eine vorhandene Webseite mit neuen Sprachtemplates füttern möchte. Die Steuerung soll dabei über die URL erfolgen, sodass ich auf Sprach-Cookies oder Benutzereinstellungen verzichten kann und auch die Suchmaschinen wissen, woran sie sind.
Ich habe eine Webseite mit vorhandener Struktur, die mittels modrewrite beeinflusst wird. Die Grundstruktur ist folgende:
http://www.example.com/hauptthema/verzw ... kument.htm
-> leitet auf http://www.example.com/hauptthema.php?k ... d=dokument
Hauptthema ist z.B. Forum, Verzweigungen z.B. Forumskategorien und Dokument dann das Thema. Die gleiche Struktur gilt auch für den eigentlichen Webseiteninhalt mit den Hauptthemen und weiteren Unterteilungen. Nach der TLD möchte ich jetzt eine Sprachkategorie einbauen, also z.B. so:
http://www.example.com/EN/hauptthema/ve ... kument.htm
-> leitet auf http://www.example.com/hauptthema.php?k ... d=dokument
Rückwärts läuft es dann scriptseitig so, dass ich die URLs dynamisch generiere und so seitenintern immer die "guten" URL's benutze. Wenn allerdings jemand einen Pfad der Art *.php?lang=en eingibt, soll es wiederum auf die sauberen URL's leiten. Ich hoffe das war jetzt nicht allzu verwirrend. Meine Hauptfrage ist eigentlich, wie ich in die bestehende Struktur pauschal für alle Ersetzungen die Sprache einsetze. Derzeit sieht mein Script grob reduziert so aus: Frage ist nun: Wie bekomme ich die Sprache bequem in die existierende htaccess-Struktur? Eine Variante wäre ja, in jeder Abfrage extra noch einen regulären Ausdruck auf die Sprache zu setzen. Allerdings bilde ich mir ein, dass irgendein Guru da eine bessere Lösung hat, als überall die Ersetzung einzufügen. Ich habe es selbst schon probiert, aber erstens funktionierte es nicht und zweitens dachte ich mir so, dass ein URL-Aufruf dann wohl eher so aussieht: script.php?foo=bar?lang=en oder script.php?&lang=en - also unsauber weil ich es einfach hinten dran setze.
- Code: Alles auswählen
FileETag none
php_value log_errors ON
php_value error_log /www/htdocs/wpdelog/log/phperrors.log
RewriteEngine On
Rewritebase /
RewriteCond %{HTTP_HOST} ^example\.de$ [NC]
RewriteRule ^(.*)$ http://www.example.de/$1 [R=301,L]
RewriteCond %{THE_REQUEST} /index\.php
RewriteRule ^(.*)index\.php http://www.example.de/$1 [L,R=301]
RewriteRule ^forum$ forum.php [L]
RewriteRule ^forum/([^/]*)/([^/]*)/(([^/]*)-)?t([0-9]+).htm(.*)?$ forum_posts.php?id=$5&page=1$6 [L]
RewriteRule ^forum/([^/]*)/([^/]*)/(([^/]*)-)?t([0-9]+)-p([0-9]+).htm(.*)?$ forum_posts.php?id=$5&page=$6$7 [L]
RewriteRule ^forum/([^/]*)/([^/]*)-b([0-9]+)?$ forum_threads.php?id=$3&page=1 [L]
RewriteRule ^forum/([^/]*)/([^/]*)-b([0-9]+)/index([0-9]+).htm?$ forum_threads.php?id=$3&page=$4 [L]
# Alte Rules auf 301.php umleiten. Von da per 301 auf die neuen SEO-Urls
RewriteRule ^forum-([0-9]+)-p([0-9]+)$ 301.php?do=forum-forum&id=$1&page=$2 [L]
RewriteRule ^forum-([0-9]+)$ 301.php?do=forum-forum&id=$1&page=1 [L]
RewriteRule ^forumthema-([0-9]+)-p([0-9]+)\.htm$ 301.php?do=forum-thema&id=$1&page=$2 [L]
RewriteRule ^forumthema-([0-9]+)\.htm$ 301.php?do=forum-thema&id=$1&page=1 [L]
RewriteRule ^userprofile-([0-9]+).htm$ profile.php?id=$1 [L]
Redirect permanent /index.htm http://www.example.de
Redirect permanent /content.php?do=kategorie http://www.example.de/kategorie.php

