Martin511: htaccess redirect 301 alter Unterverzeichnisse - Hilfe

Hallo, ich bin etwas am verzeifeln - diesmal nicht wegen Corona sondern wegen redirects von Verzeichnissen. Ich habe eine Website neu erstellt, mit neuer Seiten-/Verzeichnisstruktur (gleicher Domainname). Nun möchte ich die alten Verzeichnisse und Unterverzeichnisse, die derzeit 404 Fehler verursachen, per 301 redirect umleiten.

Ich leite also das alte Verzeichnis auf das neue um: Redirect 301 /altesverzeichnis/ /themen/

Das funktioniert soweit auch.

Als nächstes kommen jedoch die Unterverzeichnisse, und da klappt es nicht mehr: Redirect 301 /altesverzeichnis/unterverzeichnis /themen/thema1.html

Hat jemand eine Idee oder Anleitung, wie man alte Verzeichnisse mit Unterverzeichnissen korrekt auf neue Verzeichnisse mit Unterverzeichnissen umleitet?

Noch eine zweite Frage: Ich stelle fest, dass sich die Änderungen in der htaccess anscheinend gar nicht mehr sofort auswirken. Ein redirect, den ich vor 1 Stunde gesetzt und getestet habe, ist jetzt nach der Entfernung aus der htaccess immernoch aktiv. In den letzten Jahren habe ich ja doch schon öfter mit redirects in der htaccess gearbeitet und die Änderungen waren immer SOFORT wirksam. Die domain liegt bei all-inkl. und der Support hat mir bestätigt, dass es einige Zeit dauern kann, bis eine geänderte htaccess greift. Aber das macht das testen von redirects doch zum Wahnsinn, oder? Ich kann doch nicht nach jeder Änderung 1 Tag warten…

Viele Grüße aus Köln

Martin

  1. 301 wird von den Clients gecached. Wenn man da was verbockt, ist es halt doof. Für Deine konkrete Frage bitte zunächst nochmal konkret Deine RewriteRule, die aktuell nicht das gewünschte Ergebnis bringt.

    1. 301 wird von den Clients gecached. Wenn man da was verbockt, ist es halt doof.

      +1

      1. @@Raketengutfinder

        +1

        Protip: Als angemeldeter Nutzer könntest du das Bewertungssystem nutzen. (So schlecht es auch sein mag, es ist das beste, was wir haben.) Entgegen seiner letzten Benennung ist dein Nutzeraccount noch da. Aber wem sag ich das?

        🖖 Stay hard! Stay hungry! Stay alive! Stay home!

        --
        Vielen Eltern dämmert beim Home-Schooling so langsam die Erkenntnis: Lehrer ist wohl doch ein regelrechter Beruf! (@heuteshow)
        1. (So schlecht es auch sein mag, es ist das beste, was wir haben.)

          Es fehlt ein Titel wie "Umstrittener" für diejenigen, die auf mindestens 10 Beiträge genau so viele positive wie negative Bewertungen bekommen haben...

          1. Hallo Raktentitelverweigerer,

            (So schlecht es auch sein mag, es ist das beste, was wir haben.)

            Es fehlt ein Titel wie "Umstrittener" für diejenigen, die auf mindestens 10 Beiträge genau so viele positive wie negative Bewertungen bekommen haben...

            https://forum.selfhtml.org/badges/controverse

            Freundliche Grüße,
            Christian Kruse

            1. Hallo,

              Es fehlt ein Titel wie "Umstrittener" für diejenigen, die auf mindestens 10 Beiträge genau so viele positive wie negative Bewertungen bekommen haben...

              https://forum.selfhtml.org/badges/controverse

              Dem Raktenteilverdichter gehts wohl nicht um die Bwertung einzelner Postings, sondern vermutlich um Bewertung des Dichters. Also eine Art aktuellem Karma, das sich aus der Bewertung der, sagen wir, letzten 10..20 Postings errechnet. Zumindest verstehe ich ihn so…

              Gruß
              Kalk

              1. Dem Raktenteilverdichter gehts wohl nicht um die Bwertung einzelner Postings, sondern vermutlich um Bewertung des Dichters.

                Genau genommen war es Sarkasmus. Der Antrieb, sich hier anzumelden und damit implizit am Wettbewerb um ein „Karma, das sich aus der Bewertung […] errechnet“ teilzunehmen, ist „eher negativ“. Jedenfalls so lange das Bewertungssystem hier von ein paar Mobbern missbraucht wird, welche sogar offensichtlichste „Stänkereien ohne fachlichen Inhalt“ allen Ernstes positiv bewerten.

                So lange also diese, trotz allem eng umrissene Gruppe sich gegenseitig für jedes „WTF“ toll findet und durch den Missbrauch das Bewertungssystem dominiert und so lange fachlich fundierte und zum Teil aufwendig recherchierte Aussagen sehr viel weniger Beachtung finden sehe ich absolut keinen Grund dazu, mich durch eine Anmeldung diesem Wettbewerb auszusetzen.

                Denn bitteschön: Wer hat denn schon Lust durch sachliche Arbeit weniger „Karma“ zu erreichen, als ein Mobber mit ein paar hingeschnotterten „WTF“, ein paar grundlosen Unterstellungen und, hoffentlich nur aus Unkenntnis heraus, fachlich falschen Behauptungen?

                1. Hallo Jörg,

                  wenn das, was du schreibst, wahr wäre, würdest du nicht auffallen mit „+1“-Postings.

                  Freundliche Grüße,
                  Christian Kruse

                  1. @@Christian Kruse

                    wenn das, was du schreibst, wahr wäre, würdest du nicht auffallen mit „+1“-Postings.

                    Wenn das, was Jörg schreibt, falsch wäre, würde ich ihm nicht zustimmen.

                    🖖 Stay hard! Stay hungry! Stay alive! Stay home!

                    --
                    „Home Office ist so frustierend, weil man jetzt noch viel stärker bemerkt mit wievielen Menschen man zu tun hat, die nicht sinnerfassend lesen können.“@Grantscheam
                    1. @@Christian, Gunnar

                      Ich hätte meine Äußerung sehr viel lieber an Anlass gesehen, dass manch andere ihr Verhalten prüfen als dass ausgerechnet ihr beide euch streitet.

                    2. Hallo Gunnar,

                      dir selbst ist aufgefallen, dass Jörg inkonsistent handelt zu dem, was er schreibt. Und jetzt streitest du es ab.

                      Hast du heute morgen einen Trump gefrühstückt? 😉

                      Freundliche Grüße,
                      Christian Kruse

                      1. dir selbst ist aufgefallen, dass Jörg inkonsistent handelt zu dem, was er schreibt.

                        Das ich einem Beitrag explizit zugestimmt habe verstehe ich allerdings nicht als „inkonsistent“ sondern als logische Fortsetzung von „will am Bewertungssystem nicht teilnehmen“. Die erfolgte Bewertung ist (naja...) „nicht anonym“ und zeigt zudem durch das Zitat was konkret ich gut fand. Ich sehe das so, dass ich also meine Kritikpunkte beachtet habe,

                        1. Hallo Raktenteilverdichter,

                          Ich sehe das so, dass ich also meine Kritikpunkte beachtet habe,

                          🤷‍♂️ ich nicht. Im Gegenteil, nicht nur nimmst du passiv teil indem du hier postest, du nimmst auch aktiv teil. Nur mit einem vorgehaltenen Feigenblättchen.

                          Ist mir aber auch egal, das musst du halten wie du das meinst. Ich will das gar nicht mit dir diskutieren. Mein Ziel war es dir einen Denkanstoss zu liefern. Insofern werde ich das nicht weiter vertiefen.

                          Freundliche Grüße,
                          Christian Kruse

    2. Hallo Mitleser,

      301 wird von den Clients gecached. Wenn man da was verbockt, ist es halt doof.

      Ergänzung für @Martin511: Du solltest folglich zumindest zum Testen Statuscode 302 statt 301 verwenden. Danach ist 301 aber durchaus sinnvoll, weil es ja tatsächlich eine permanente Änderung ist.

      Gruß
      Julius

  2. Ich leite also das alte Verzeichnis auf das neue um: Redirect 301 /altesverzeichnis/ /themen/

    Das funktioniert soweit auch.

    Als nächstes kommen jedoch die Unterverzeichnisse, und da klappt es nicht mehr: Redirect 301 /altesverzeichnis/unterverzeichnis /themen/thema1.html

    Was passiert denn genau, wird gar nicht umgeleitet oder in die falsche Richtung? Welcher Server (ich vermute einfach mal Apache)?

    Falls du als erste die Redirect-Zeile für /altesverzeichnis/ angegeben hast und als zweite jene für /altesverzeichnis/unterverzeichnis, kann die zweite IIRC nicht mehr greifen.

    Redirect leitet nicht einfach exakt den gegebenen Pfad um, sondern interpretiert ihn als nur als Anfang. /altesverzeichnis/ gilt also für /altesverzeichnis/ genauso wie für /altesverzeichnis/bla, /altesverzeichnis/bla/fasel/dings und so weiter, jedoch nicht für /altesverzeichnis (fehlender Schrägstrich am Ende). /bla wiederum würde sowohl für /bla gelten als auch für /blafasel, /bla oder /bla/dings/da/bumms.

    Folglich greift deine erste Redirect-Zeile für /altesverzeichnis/ bereits alles ab, was jemals unter /altesverzeichnis/ lag und nachfolgende Redirect-Zeilen werden nicht weiter geprüft.

    Beachte weiterhin, dass der Pfadrest an den Zielpfad angehängt wird. Redirect /quelle /ziel erzeugt also bei einem Aufruf von /quelle/a eine Weiterleitung nach /ziel/a.

    Kurzum: Sortiere spezifische Weiterleitungen vor den allgemeineren ein. Mache gegebenenfalls Gebrauch von RedirectMatch, damit kannst du exakte Muster (mitsamt Anfang und Ende) angeben.

    Noch eine zweite Frage: Ich stelle fest, dass sich die Änderungen in der htaccess anscheinend gar nicht mehr sofort auswirken. […] In den letzten Jahren habe ich ja doch schon öfter mit redirects in der htaccess gearbeitet und die Änderungen waren immer SOFORT wirksam.

    Wie hier schon geschrieben wurde, werden 301-Weiterleitungen vom Browser zwischengespeichert; es sind ja nicht umsonst "permanente" Weiterleitungen.

    Aber das macht das testen von redirects doch zum Wahnsinn, oder? Ich kann doch nicht nach jeder Änderung 1 Tag warten…

    Du kannst zum Neuladen zusätzlich zum Klick auf das Neuladen-Feld die Hochstelltaste gedrückt halten, damit zwingst du Browser üblicherweise alles nochmals zu prüfen.

    Alternativ verwende für solche Sachen immer das Netzwerkprotokoll der Entwicklerkonsole deines Browsers. Dort sollte dir angezeigt werden, wo der Browser seine Antwort herholt und den Zwischenspeicher kannst du eventuell ebenfalls ausschalten.