htaccess -Problem mit erstellen

chris80

Angesehenes Mitglied
Hallo... bin gerade ein wenig dabei neue Struckturen zu schaffen und komme gerade in Punkto htaccess nicht weiter

Ich möchte gern alle Links draussen in der Welt umleiten auf das neue Verzeichniss http://www.mamasengel.de/schwangerschaft

Normal war das Startverzeichnis ganz normal unter www.mamasengel.de


Leider funktioniert es nicht so ganz. Hab schon eine Menge ausprobiert.

Im Root liegt dann nur die htaccess... wäre dann doch kein Problem oder?
 
QUOTE (ajse80 @ So 12.07.2009, 17:53)
Leider funktioniert es nicht so ganz. Hab schon eine Menge ausprobiert.


WAS funktioniert nicht?
WIE hast du es bereits versucht?
WELCHE Fehlermeldungen bekommst du?
Bist du SICHER, das dein Server ModRewrite unterstützt?
 
Mag eine blöde Frage sein, aber:
Bist du dir ganz sicher, das du SÄMTLICHEN Traffic auf den Unterordner weiterleiten willst?
Mir ist der Sinn dahinter nicht ganz klar...
 
Weil das mein neues Rootverzeichnis sein soll. Habe das CMS umgestellt/gewechselt.

Und wenn (ich nutze nun Joomla) es sich im Rootverzeichnis befindet funktioniert es nicht, da ich auch irgendein htaccess problem habe.

Schau es Dir jetzt mal an unter www.mamasengel.de Habs mal zurück ins Root gespielt.

Erste Seite geht, klicke ich auf Unterseiten haben die keine CSS Zuweisungen mehr usw.
Zudem muß ich im Backend mod_rewrite ausschalten da ich sonst ne Fehlermeldung erhalte. Ich erhalte dann auch
die Adresse so http://www.mamasengel.de/alleinerziehend.html

zu sehen is Sie dann aber nur wenn das index.php in der Mitte eingefügt wird:

http://www.mamasengel.de/index.php/alleinerziehend.html

SO wie jetzt halt.

 
Das ist im Moment meine htaccess:

RewriteEngine On
Options +Followsymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*/images/(.*)$ /images/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*/uploads_user/(.*)$ /uploads_user/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /profile.php?user=$1 [L]



RewriteCond% (HTTP_HOST) ^ mamasengel.de/ [NC]
RewriteRule ^(.*)$ http://www.mamasengel.de/ $ 1 [L, R = 301]

RewriteCond% (HTTP_HOST) ^ http://www.mamasengel.de/ [NC]
RewriteRule ^(.*)$ http://www.mamasengel.de/schwangerschaft $ 1 [L, R = 301]
 
QUOTE (connectR @ So 12.07.2009, 19:51)Mag eine blöde Frage sein, aber:
Bist du dir ganz sicher, das du SÄMTLICHEN Traffic auf den Unterordner weiterleiten willst?
Mir ist der Sinn dahinter nicht ganz klar...

Wie wäre es mit einem Header der funz?

Link ist "Forbidden"!

Im übrigen ist mir das mit dem Traffic nicht verständlich!!!
rolleyes.gif
 
Header funktioniert, nur die Seiten sind zwecks Demonstration nicht im Verzeichnis /schwangerschaft sonder im Root.

Wie leite ich jetzt alles von / auf /schwangerschaft?

 
In der .htaccess sind mehrere Fehler enthalten, u.a.:

HTTP_HOST enthält kein "http://" und kein Slash am Ende

Die Variablen haben geschweifte Klammern - und hinter dem "%" folgt kein Leerzeichen

Das "$1" wird ohne Leerzeiche geschrieben und direkt hinter den Slash angfügt.

Außerdem benötigst du noch eine Abbruch-Bedingung, damit nicht in einer Endlosschleife weitergeleitet wird.

Probier es mal so:

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

RewriteCond %{HTTP_HOST} ^www\.mamasengel\.de$ [NC]
RewriteCond %{THE_REQUEST} !/schwangerschaft/
RewriteRule ^(.*)$ http://www.mamasengel.de/schwangerschaft/$1 [L,R=301]
 
Möglicherweise darfst du kein Modrewrite ausführen. Mit dieser Zeile könntest du eventuell dieses Problem beheben:

CODE Options +FollowSymlinks
 
Hmm, steht in der <datei> so siehts Sie aus:

RewriteEngine On
Options +Followsymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.* - [L,QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*/images/(.*)$ /images/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.*/uploads_user/(.*)$ /uploads_user/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /profile.php?user=$1 [L]



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

RewriteCond %{HTTP_HOST} ^www\.mamasengel\.de$ [NC]
RewriteCond %{THE_REQUEST} !/schwangerschaft/
RewriteRule ^(.*)$ http://www.mamasengel.de/schwangerschaft/$1 [L,R=301]
 
Dann muss diese Option in der VHost-Konfiguration des Webservers gesetzt werden. Wenn du darauf keinen Zugriff hast, musst du dich an deinen Webhoster wenden, dass er dir Modrewrite freischaltet.
 
Hallo Jörg,

doch ich habe Zugriff und mod_rewrite ist on.

Hat ja vorher auch funktioniert... Aber irgendwie habe ich einen Fehler in die htaccess gebracht.

 
Modrewrite ist on - es kann aber nicht ausgeführt werden, da die Option "Options +FollowSymlinks" in der .htaccess nicht gesetzt werden kann. Darauf weist der Fehler 403 hin. Syntaxfehler u.ä. in der .htaccess würden dagegen einen Fehler 500 erzeugen.

Edit: Aber du hast "FollowSymlinks" falsch geschrieben - probier's mal mit großem "S":

Options +FollowSymlinks
 
Hallo Jörg... ich probiere es nachher mal aus. Es besteht Hoffung, es besteht Hoffnung...

Ich kann echt nicht mehr klar denken und sehen nach diesem hin und her.

Schönen Dank schon mal im voraus. Melde mich heute später nochmal :)
 
Funktioniert immer noch nicht, habe nu diese Fehlermeldung im Browser:

Forbidden

You don't have permission to access / on this server.


Eine Rechteangelegenheit?
 
Die 403 "Forbidden" weist in diesem Fall darauf hin, dass die Option "FollowSymlinks" in der .htaccess nicht geändert werden kann - diese muss dann in der betreffenden VirtualHost-Konfiguration für die betreffende Domain gesetzt werden. Wenn du auf die Server-Konfiguration keinen Zugriff hast, musst du dich hierzu an deinen Webhoster wenden.
 
Hallo Jörg,

danke Dir.

Ich habe meinen Provider jetzt mal angeschrieben.

Ich kann im Confixx unter Httpd Spezial ----> Optionen .... mod_rewrite an und ausschalten. Und es ist und war an.

Das komische ist ja das es im Unterverzeichnis geklappt hat. Naja, ich warte erstmal auf deren Feedback.

 
Zurück
Oben