2017-05-04 2 views
1

Ich versuche, einen Unterordner sowie alles danach auf die Homepage umzuleiten.Wie kann ich 301 einen Unterordner und alles danach umleiten?

Zum Beispiel:

example.com/subfolder/extra-stuff>example.com

Die extra-stuff ständig verändert und automatisch generiert, so möchte ich die Umleitung, dass auch zu entfernen.

Ich verwende:

Redirect 301 /subfolder(.*) http://www.example.com 

Dies ist jedoch in http://www.example.com/extra-stuff führen.

Gibt es einen Weg, ich kann sagen, wenn /subfolder(and anything else after subfolder) Redirect nach Hause?

Vielen Dank für Anregungen!

Antwort

0

Die Direktive Redirect verwendet einfaches Präfix-Matching und alles, nachdem das Match auf das Ende der Ziel-URL kopiert wurde (was Sie hier sehen). Aber Redirect unterstützt auch Regex nicht, so ein Muster wie (.*) am Ende ist streng ungültig.

Sie müssen stattdessen RedirectMatch verwenden (auch Teil von mod_alias), die Regex verwendet und nicht mit Präfix übereinstimmt.

Zum Beispiel:

RedirectMatch 301 ^/subfolder http://www.example.com/ 

Jede Anfrage, dass beginnt/subfolder nicht zu http://www.example.com/ weitergeleitet.

Sie müssen den Browser vor dem Testen leeren.


Sie haben Ihre Frage "Magento" (die wahrscheinlich mod_rewrite verwendet) markiert. Sie sollten jedoch beachten, wenn Sie mod_rewrite bereits für das Umschreiben/Weiterleiten verwenden, sollten Sie wahrscheinlich mod_rewrite anstelle von mod_alias verwenden, um diese Umleitung durchzuführen, da Sie möglicherweise Konflikte bekommen können.

Zum Beispiel die äquivalente mod_rewrite Richtlinie wäre:

RewriteRule ^subfolder http://www.example.com/ [R=301,L] 

Hinweis gibt es keinen Schrägstrich-Präfix auf dem RewriteRuleMuster. Dies müsste in der Nähe der Spitze Ihrer .htaccess Datei gehen.

Verwandte Themen