2017-02-12 3 views
3

Ich versuche, meine gesamte Site mit dem folgenden Redirect-Befehl in einen Unterordner im Stammverzeichnis umzuleiten.Gesamte Site in einen Unterordner umleiten

Redirect 301/http://example.com/folder/

Allerdings, wenn ich die Website zu öffnen, wird es wie zu etwas umgeleitet http://www.example.com/folder/folder/folder/folder/folder/folder/folder...

Bin ich etwas falsch hier?

Antwort

3

Ja, Sie umleiten alles beginnend mit / so natürlich, dass /folder/ enthält und es einfach weiterleiten. Sie können Ihre gesamte Website nicht auf einen Teil von sich selbst umleiten, ohne diesen Teil auszuschließen.

Verwenden Sie stattdessen:

RewriteEngine on 
RewriteCond %{REQUEST_URI} !^/folder/ 
RewriteRule ^(.*)$ /folder/$1 [NE,R=301,L] 

Es wird alles umleiten, die nicht in /folder/ ist.

Um nur die Homepage zu umleiten, verwenden Sie stattdessen:

RewriteEngine on 
RewriteRule ^$ /folder/ [R=301,L] 
+0

füge ich dies in der Conf-Datei oder die .htacess im Root-Verzeichnis? –

+0

Okay, das funktioniert in der .conf-Datei. Aber ich bekomme 'http: // example.com/folder //' mit einem doppelten '//' am Ende. Irgendeine Idee warum? –

+0

Weil Sie in .htaccess danach gefragt haben :) (Ihr Beitrag ist getaggt .htaccess) Die Hauptkonfiguration ist jedoch besser. Ich habe die Regel dafür aktualisiert. Löschen Sie Ihren Cache, um ein neues Ergebnis zu sehen. – SuperDuperApps

Verwandte Themen