Ist es möglich, Platzhalter in der .htaccess-Datei für die Massenbewegungen zu bedienen?
-
20-09-2019 - |
Frage
ich meine Website bin Nacharbeiten, gehen viele Verzeichnisse zu Umbenennen und benötigen eine einfache Art und Weise meine .htaccess-Umleitungen für alle diese Seiten zu schreiben. Ich hoffe auf eine Lösung, die nicht eine sehr lange Liste von Dateien enthält. Meine .htaccess-Datei ist sehr groß, wie es ist.
Lösung
Sie können mit mod_alias oder mod_rewrite für Ihr Umleiten. mod_rewrite Arbeiten mit regulären Ausdrücken und mod_alias auf beiden regulären Ausdruck und Pfad-Präfixen arbeiten.
Hier sind einige Beispiele für, wenn Sie wollen /foo/…
zu /bar/…
neu zu schreiben:
# mod_alias
# path prefix
Redirect 301 /foo /bar
# regular expression
RedirectMatch 301 ^/foo/(.*) /bar/$1
# mod_rewrite
RewriteEngine on
RewriteRule ^foo/(.*) /bar/$1 [L,R=301]
Beachten Sie, dass mod_alias und mod_rewrite haben unterschiedliche Anforderungen an ihre regulären Ausdrücken Muster. mod_alias erfordert immer den vollständigen URL-Pfad. Aber mit mod_rewrite es hängt davon ab, ob Sie es in einer .htaccess-Datei verwenden oder in der Server-Konfiguration / virtuelle Host-Seite. In einer .htaccess-Datei, müssen Sie das Muster ohne die pro-Verzeichnispfad Präfix (im Falle des Dokuments Wurzel nur /
, bei /quux/
es ist /quux/
).