.htaccess


baeri

Erfahrenes Mitglied
Hallo liebe leut,

ich habe ein kleines Problemchen mit .htaccess...

ich habe auf einer Seite mehrere Sprungmarken die via #hash in der url angesprungen werden können

Code:
einedomain.de/#Bereich7

jetzt möchte ich die Seite mit mehreren Sprachen ergänzen... so soll er wenn nichts da steht:
Code:
einedomain.de/#Bereich7
Standardmäßig als deutsch verwenden (ob er da jetzt nichts oder lang=de übergibt ist egal... das bekomm ich dann hin)

wenn ich
Code:
einedomain.de/en/#Bereich7
eingebe soll er einen Wert "en" übergeben

am schönsten wäre wenn dass dann als GET übergeben wird
Code:
einedomain.de/?lang=en#Bereich7

leider habe ich überhaupt keinen Plan mit .htaccess

Das ist mein "Ansatz" leider geht das nicht wie erhofft...
Code:
RewriteEngine On
RewriteRule "/EN" "/index.html?lang=en"

wie schon angemerkt ist mir der HASH Wichtig!

Vielen Dank
 

sheel

I love Asm
Hi

da du die Anker so speziell erwähnst, hilft es dir, dass du sie serverseitig einfach nicht beachten musst?
Das #Bereich7 wird vom Browser gar nicht zum Server gesendet.
 

baeri

Erfahrenes Mitglied
okay... das ist gut...
aber was hab ich dann in meiner htaccess falsch gemacht?

okay, ich fürchte das Problem ist, dass auch style und scriptdateien umgeleitet werden...

wie kann ich aus
domain.de/en/#hash => domain.de/?lang=en#hash
machen?

dies soll nur bei der index.html passieren... bei allen anderen daten soll er den normalen pfad verwenden...

also z.B. domain.de/style/flatBlue.css

in der index.html habe ich das Style (hier gibt es natürlich noch viel mehr als nur das eine - ebenso auch js Dateien und Bilder) so angegeben (und möchte auch auf absolute Pfade verzichten)
<link rel="stylesheet" href="style/flatBlue.css">
 
Zuletzt bearbeitet:

sheel

I love Asm
Versuch sowas

Code:
RewriteRule ^/?(en|de)/(.+?)/?$ /$2/?lang=$1 [L,QSA]
(Falls es mehr außer de und en gibt, eben ergänzen)
 

baeri

Erfahrenes Mitglied
hm... jetzt stell ich mich irgendwie DUMM an

Code:
RewriteEngine On
RewriteRule ^/?(en|de)/(.+?)/?$ /$2/?lang=$1 [L,QSA]

leider sagt er:
The requested URL /de/ was not found on this server....

muss noch mehr in die .htaccess?
 

baeri

Erfahrenes Mitglied
hat niemand eine Idee für mich?

zwar funktioniert jetzt der "normale" aufruf wieder... aber sobald ich /en oder /de ... oder /en/ oder /de/ dahinter schreib sagt er dass er den pfad nicht findet :/