# .htaccess



## baeri (28. Oktober 2016)

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


```
einedomain.de/#Bereich7
```

jetzt möchte ich die Seite mit mehreren Sprachen ergänzen... so soll er wenn nichts da steht:

```
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 

```
einedomain.de/en/#Bereich7
```
eingebe soll er einen Wert "en" übergeben

am schönsten wäre wenn dass dann als GET übergeben wird 

```
einedomain.de/?lang=en#Bereich7
```

leider habe ich überhaupt keinen Plan mit .htaccess

Das ist mein "Ansatz" leider geht das nicht wie erhofft... 

```
RewriteEngine On
RewriteRule "/EN" "/index.html?lang=en"
```

wie schon angemerkt ist mir der HASH Wichtig! 

Vielen Dank


----------



## sheel (28. Oktober 2016)

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 (28. Oktober 2016)

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">


----------



## sheel (28. Oktober 2016)

Versuch sowas


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


----------



## baeri (28. Oktober 2016)

hm... jetzt stell ich mich irgendwie DUMM an


```
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 (29. Oktober 2016)

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 :/


----------

