Ich möchte meine Domain von www.beispiel.de weiterleiten in ein Unterverzeichnis /cms. Also von www.beispiel.de auf www.beispiel.de/cms. Das habe ich mit einer .htaccess datein schon hinbekommen, in der sich folgender Code befindet:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.beispiel.de$
RewriteCond %{REQUEST_URI} !^/cms/
RewriteRule ^(.*)$ /cms/$1
Nun geben aber einige Kunden in den Browser nur beispiel.de ein und bekommen einen Fehler, weil die Weiterleitung nicht klappt und im Root-Verzeichnis keine Index.html zu finden ist. Ist es möglich auch beispiel.de auf www.beispiel.de/cms in der .htaccess-Datei weiterzuleiten? Oder gibt es eine bessere Lösung?
Vielen Dank für deine Antwort. Ich habe deinen Vorschlag ausprobiert und bekomme leider immer einen Internal Server Error 500
Soweit ich das ganze nun verstanden habe, müsste ich sämtliche Aufrufe von beispiel.de auf www.beispiel.de weiterleiten um einen double content zu verhindern. Hierfür ist glaube ich folgender Code: Options +FollowSymlinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www.meineDomain.tld$ [NC]
RewriteRule ^(.*)$ http://www.meineDoamin.de/$1 [R=301,L]
Und zusätzlich dann jede Anfrage von www.beispiel.de auf das Unterverzeichnis weiterleiten. Dazu bräuchte ich folgenden Code: RewriteEngine on
RewriteCond %{REQUEST_URI} !cms/
RewriteRule ^(.*)$ /cms/$1
Wenn ich beide kombiniere, bekomme ich auch einen 500 und im Browser taucht die Adresse: www.beispiel.de/cms// (Achtung mit doppeltem Schrägstrich) auf.
Weiß jemand weiter?
Vielen Dank nochmal für eure Hilfe!
warum nimmst du nicht eine HTML weiterleitung? geht viel einfacher.
Content sind die sekunden die verstrichen werden sollen bis zur weiterleitung und das URL erklärt sich von selbst. nun lege diesen code Als index.html in dein Root. schon währst du fertig. geben sie jetzt nur die Adresse ein lädt er diese datei und leitet auf die seite die hinter URL steht weiter
das macht er sicher nicht, weil es dabei keine Garantie gibt,
dass das funktioniert. Immerhin passiert das auf Browserseite
und nicht auf Serverseite.
Funktioniert zu 100%. Wenn du den Code in eine HTML datei schreibst und ihn in das Rootverzeichniss packst, wird die index.html aufgerufen wenn beispiel.de eingegeben wird. Der HTML code sorgt dafür das die Seite sich neulädt aber mit dem url beispiel.de/cms oder was du auch für eine adresse haben willst.
Auf meiner Website seit Jahren erfolgreich im einsatz.
Ich habs nun wie folgt gelöst:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.beispiel.de$ [NC]
RewriteRule ^(.*)$ http://www.beispiel.de/$1 [R=301]
RewriteRule ^/?$ /cms/ [R=permanent]
ob das die beste bzw. schönste Art ist, weiß ich nicht, aber sie funktioniert…
Vielen Dank für die Vorschläge!