Problem mit Umleitung eines Ordners mit mod_alias
-
21-09-2019 - |
Frage
Eine weitere Frage im Anschluss an diesen Thread . Die einzige verbleibende Element, das ich nicht lösen kann, ist, dass es eine Auflistung für einen jetzt nicht vorhandenen Ordner ‚/ team /‘, aber wenn ich dies in meiner .htaccess-Datei hinzufügen, sie alle anderen .htaccess Einträge für Dateien bricht in dass Ordner, dh
redirect 301 /team/ /team.html
redirect 301 /team/joe_bloggs.htm /team.html
redirect 301 /team/joe_bloggs.html /team.html
redirect 301 /team/bill_smith.htm /team.html
redirect 301 /team/bill_smith.html /team.html
Wenn ich dann /team/joe_bloggs.htm zu besuchen versuchen, dauert es mir zu
/team.html/joe_bloggs.htm
Wenn ich dieses Problem beheben kann, kann sie mir helfen, zu verstehen, wie meine ursprüngliche Frage zu lösen und die riesige Liste von Redirect Seiten in meiner .htaccess-Datei zu reduzieren, so dass jede Hilfe dankbar empfangen.
Lösung
Sie müssen die Reihenfolge ändern, und stellen „redirect 301 /team/ /team.html
“ am Ende.
Es liest Zeile zu Zeile, und wenn es etwas passt findet, ersetzt es.
Darüber hinaus denke ich, Sie hinzufügen müssen lernen, ^ und $ Zeichen. ^ Mittel, sollte der Ausdruck beginnen und $ Mittel sollte der Ausdruck beenden.
Also, ^/team/$
Mittel, sollte es genau / Team / und es wird nicht passen /team/joe_bloggs.htm
Andere Tipps
Die Redirect
Richtlinie Arbeiten auf dem Weg Präfix. Und in diesem Fall ist der Pfad-Präfix in Ihrer ersten Richtlinie (/team/
) Spielen und der Rest des Weges verwendet wird, um den neuen URL-Pfad angehängt.
[...] jede Anfrage Anfang mit
URL-Path
wird wieder eine Umleitung Anfrage an den Client an der Stelle des ZielsURL
. Zusätzliche Pfadinformationen über das angepassteURL-Path
wird an das Ziel angehängt werdenURL
.
Versuchen Sie RedirectMatch
statt:
RedirectMatch 301 ^/team/ /team.html