|
|
Waterkanter

: 09.11.2007 : 52 : Hamburg
|
| : 13.04.2011, 14:04 : Braucht bitte Hilfe beim Rewrite eines Unterordners! |
|
|
Ich habe folgendes Problem
Ich hab einen kleinen Shop, der Deutsch und Englisch als Spache hat.
Ich will die Sprache nun über HTACCESS steuern und zwar nach folgendem Muster:
www.example.com/shop/de/(beliebige weiterer Verzeichnisse)
soll zu
www.example.com/shop/(beliebige weiterer Verzeichnisse)
werden.
Also im Prinzip das "de" nur intern rausnehmen, soll aber natürlich angezeigt bleiben.
Ich hab schon viele Varianten die ich hier gefunden hab probiert, aber scheinbar bin ich schlicht zu blöd dafür!
folgendes hab ich derzeit probiert:
RewriteEngine On
RewriteCond %{REQUEST_URI} ^www.domain.de/shop/de/*$
RewriteRule (.*) http://www.domain.de/shop/*$1 [R=301,L]
klappt aber nicht, weil das ganz sicher so nicht stimmt...
Ich bitte um Hilfe! |
|
| Nach oben |
|
 |
chris21

: 10.04.2005 : 2079
|
| : 13.04.2011, 14:16 : Braucht bitte Hilfe beim Rewrite eines Unterordners! |
|
|
Moin Waterkanter,
wenn ich Dich richtig verstanden habe, soll das de in der URL bestehen bleiben.
Da aber unter de keine Dateien zu finden sind, sollen diese intern aus /shop/.. gezogen werden.
Dann machst Du einfach folgendes:
| Code: |
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/shop/de/(.*)$
RewriteRule ^(.*)$ /shop/$1
|
Wichtig: hier dürfen keine Hosts auftauchen und kein R=301 flag, sonst würdest du keinen internen, sondern einen externen Rewrite machen, wodurch dann das /de/ aus der URL verschwinden würde. Und das willst Du ja nicht.
Einfach mal abwarten und Tee trinken. Das wird scho'.
Auch ne schöne Seite: klick. |
|
| Nach oben |
|
 |
Waterkanter

: 09.11.2007 : 52 : Hamburg
|
| : 13.04.2011, 14:25 : Braucht bitte Hilfe beim Rewrite eines Unterordners! |
|
|
Danke für die schnelle Antwort!
Klappt aber leider so nicht
Ich sollte dazu sagen, dass es den Ordner /de/ und /en/ nicht gibt. Die Dateien (.php) liegen im Ordner /shop/
Es soll aber in der URL stehen /shop/de/datei.php und auf /shop/datei.php verweisen. Das gleiche mit /en/. Beide (de und en) sollen auf die gleichen dateien verweisen, die dann das "de" und das "en" aus der URI auslesen und so die Sprache steuern. |
|
| Nach oben |
|
 |
chris21

: 10.04.2005 : 2079
|
| : 13.04.2011, 14:34 : Braucht bitte Hilfe beim Rewrite eines Unterordners! |
|
|
Da gibt es zwei Probleme, die unterschiedlich behandelt werden müssen:
a) Wie sind die Dateien verlinkt auf der Seite? Sie müssen auf shop/de/... oder /shop/en/... verlinkt werden.
b) wie soll die sprache ausgelesen werden?
Eine Möglichkeit wäre z.B.:
| Code: |
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/shop/(de|en)/(.*)$
RewriteRule ^(.*)$ /shop/$2?sprache=$1
|
Dann würde der Aufruf von /shop/de/beispiel.php intern so ankommen:
/shop/beispiel.php?sprache=de
Dann wäre z.B. für php im $_GET['sprache'] die Sprache (de oder en) als Variable zu finden.
Einfach mal abwarten und Tee trinken. Das wird scho'.
Auch ne schöne Seite: klick. |
|
| Nach oben |
|
 |
Waterkanter

: 09.11.2007 : 52 : Hamburg
|
| : 14.04.2011, 12:23 : Braucht bitte Hilfe beim Rewrite eines Unterordners! |
|
|
Super, das klappt soweit schonmal )
Nur wird die sprache nicht korrekt übergeben sondern in ['sprache'] steht der ganze pfad drin "shop/de/datei.php". Aber das macht nix, ich lese die Sprache eh über die URI aus, das passt dann schon
Vielen Dank, hast mir sehr geholfen! ) |
|
| Nach oben |
|
 |