Ausgabe
Ich möchte von umleiten
http://example.com/folder
zu
http://example.com/
Aber trotzdem zugreifen können
http://example.com/folder/subfolder
ohne umgeleitet zu werden. Daher sollte nur die spezifische “Ordner”-URL auf root umgeleitet werden. Ist das machbar? Kann die Unterordner nicht ausschließen.
Aktueller Code (der auch Ordner/Unterordner umleitet) lautet:
Redirect folder https://www.example.com/
Danke vielmals!
Lösung
Das Problem liegt bei der Redirect
Direktive, die mit jedem URI übereinstimmt, der mit dem angegebenen Muster beginnt. Hier stimmt es mit jedem URI überein, der mit beginnt /folder
.
Sie können RedirectMatch
für eine genaue Übereinstimmung mit Regex verwenden:
RedirectMatch 302 ^/folder/$ https://www.example.com/
Oder verwenden Sie RewriteRule
:
RewriteRule ^/?folder/$ https://www.example.com/ [L,R=302,NC]
Beachten Sie, dass ich in /
optional geführt habe RewriteRule
. Dadurch ist diese Regel mit der Apache-Serverkonfiguration kompatibel, wo sie mit einem /
und .htaccess beginnen sollte, wobei der führende /
nicht übereinstimmt, da .htaccess
es sich um eine Verzeichnisanweisung handelt und Apache den aktuellen Verzeichnispfad (also den führenden Schrägstrich) aus dem RewriteRule
URI-Muster entfernt.
Beantwortet von – anubhava
Antwort geprüft von – Robin (FixError Admin)