Hallo,
Eine weitere Möglichkeit wäre PathInfo. Bei www.example.org/start.php/EN würde das Script start.php aufgerufen werden, das /EN findet man unter $_SERVER['PATH_INFO'].
das ist die Möglichkeit, die ich im Auge hatte. Man kann sie "optisch" noch etwas verfeinern, wenn man
a) alle direkt adressierten PHP-Dateien im DocRoot ablegt
b) sie ohne die Extension .php speichert und
c) den Apachen mit entsprechenden Angaben in der .htaccess dazu bringt, diese Dateien trotzdem druch den PHP-Parser zu blasen, auch wenn sie keine .php Extension haben.
Du hast dann URLs, die z.B. so aussehen:
http://example.org/start/DE
http://example.org/start/EN
http://example.org/impressum/DE
http://example.org/angebote/DE
Dabei sind /start, /impressum und /angebote jeweils die Namen der PHP-Scripte. Sollte $_SERVER['PATH_INFO'] leer oder ungültig sein, kann man einfach auf die Defaultsprache zurückgreifen. Jedenfalls bin ich im Begriff, die Internet-Präsenz eines Bekannten nach diesem Muster umzustricken.
Theoretisch kann man das Namensschema natürlich auch umdrehen, so dass man dann z.B. http://example.org/DE/start hat. Dann bräuchte man nur für jede Sprache ein Script, das dann anhand von $_SERVER['PATH_INFO'] die jeweilige Seite generiert. Muss man im Einzelfall abwägen, was günstiger ist; hier wäre zumindest der Vorteil, dass man innerhalb des Projekts sprachneutrale relative Links verwenden kann und damit automatisch immer in der gewählten Sprachumgebung bleibt.
[2] Bitte für beispielhafte Domainnamen die dafür vorgesehenen example.com/net/org verwenden, damit es zu keinen Konflikten mit real existierenden Domainnamen kommt.
Sehr guter Hinweis. Leider werden hier immer wieder Phantasiedomains verwendet, bei denen die Chance groß ist, dass sie wirklich existieren und genutzt werden.
Schönen Tag noch,
Martin
You say, it cannot be love if it isn't for ever.
But let me tell you: Sometimes, a single scene can be more to remember than the whole play.