htaccess Problematik

Wie wir alle wissen (sollten) ändert mod_rewrite keine Links im Script. Damit auch die Links auf Deiner Page auf die neuen "Rewrited URLs" zeigen bedarf es der Anpassung im Code. Fragen und Probleme rund um's Coding werden hier diskutiert.

Moderator: Super-Mod

Antworten
AlexT
.
.
Beiträge: 1
Registriert: 10.08.2012 07:39

htaccess Problematik

Beitrag von AlexT »

Hallo Community,

ich quäle mich seit Tagen mit folgendem Problem herum und finde einfach die richtig Lösung nicht:

ich habe einen Unterordner auf meinem Webspace namens "Shop"

Die htaccess liegt in dem Ordner /shop

Nun möchte ich das beim Aufruf der Domain das Shop an dur URL gehängt wird und die Startseite geöffnet wird. Auch sollte immer das www vornangehängt werden sofern der user es ebend vergessen hat.
Das Ergebnis sollte also in der browserleiste dann wie folgt aus sehen:

Code: Alles auswählen

http://www.meine-domain.de/shop
Wenn die Domain falsch aufgerufen wird sollte auch ein 404 angezeigt werden.

Bsp:

Code: Alles auswählen

http://www.meine-domain.de/xyz
oder

Code: Alles auswählen

http://www.meinedomain.de/shop/xyz
xyz ist nicht vorhanden also 404 Ausgabe

Ich habe das im Moment so am laufen das ich meine index.html in einen weiteren Unterordner legen muß damit das funktioniert. Also meine Seite liegt auf dem Server quasi im Verzeichnis /shop/shop. Das ist ja aber nonsens die Seite sollte ja in /shop liegen.

Gelöst habe ich das wie folgt:

Code: Alles auswählen

Options +FollowSymlinks

RewriteEngine on
RewriteCond %{HTTP_HOST} ^meine-domain.de [NC]
RewriteRule ^(.*)$ http://www.meine-domain.de/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.\meine-domain.de$ [NC]
RewriteRule ^(.*)$ http://www.meine-domain/$1 [R=301,L]
RewriteRule ^$ /shop/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www.\meine-domain.de$ [NC]
RewriteCond %{REQUEST_URI} !^/shop/
RewriteRule ^(.*)$ http://www.meine-domain.de/shop/ [R=301,L]
Könnt ihr mir sagen wie das richtig lauten muß damit das richtig funktioniert? Mir wachsen langsam graue Haare weil ichs einfach nicht hinbekomme.

Grüße

Alex
Antworten