Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Braucht bitte Hilfe beim Rewrite eines Unterordners!

Mehrere Domains, Domain-Umzug, neue Dateinamen, 301/302
Neues Thema Antworten
Waterkanter
PostRank 2
PostRank 2
Beiträge: 52
Registriert: 09.11.2007, 11:43
Wohnort: Hamburg

Beitrag von Waterkanter » 13.04.2011, 13:04

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 (.*) https://www.domain.de/shop/*$1 [R=301,L]

klappt aber nicht, weil das ganz sicher so nicht stimmt...

Ich bitte um Hilfe!

Anzeige von ABAKUS

von Anzeige von ABAKUS »

SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 13.04.2011, 13:16

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: Alles auswählen

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.

Waterkanter
PostRank 2
PostRank 2
Beiträge: 52
Registriert: 09.11.2007, 11:43
Wohnort: Hamburg

Beitrag von Waterkanter » 13.04.2011, 13:25

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.

chris21
PostRank 9
PostRank 9
Beiträge: 2758
Registriert: 10.04.2005, 18:17

Beitrag von chris21 » 13.04.2011, 13:34

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: Alles auswählen

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.

Waterkanter
PostRank 2
PostRank 2
Beiträge: 52
Registriert: 09.11.2007, 11:43
Wohnort: Hamburg

Beitrag von Waterkanter » 14.04.2011, 11:23

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! :))

Antworten
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag