mibe: url abfangen die zweite

ich kann leider nicht mehr im alten Thread antworten.
Daher erstmal danke an alle Antworter, Malcolm Beck´s, suit und Sven Rautenberg.
@Sven:
So wie du sagtest werde ich das jetzt machen. Leider weiß ich mit meinen bescheidenen php-Kenntnissen nicht genau wie. Mein Problem ist, dass die alte Url statisch war. jetzt ist sie dynamisch. D.h. sie wird aus der ensprechenden Spalte einer Tabelle ausgelesen. Ich müsste die alte Url also abfangen, so wie bisher auch. Dann "trimmen", die Tabelle "absuchen" ,den entsprechenden Eintrag aus der aktuellen Spalte auslesen und einen String basteln.
Kann mir jemand sagen, wie ich da vorgehen soll?
Herzlichen Dank schonmal.

  1. Hi!

    Kann mir jemand sagen, wie ich da vorgehen soll?

    Nun, zunächst einmal wäre das Verweisen auf den alten Thread hilfreich, damit man überhaupt weiß, worum es geht. Oder du beschreibst das Problem neu und nachvollziehbar.

    Lo!

    1. @suit
      Hab das Errorhandling über Typo3 und einer entsprechendnen php-Datei implementiert. Das ist nicht das Problem. Die realUrl Probleme kenne ich leider auch zu Genüge. Aber habs in den Griff bekommen. Einigermaßen jedenfalls.
      mod_rewrite ist das Stichwort. Ich lese und alle alten urls via Progrämmchen aus der alten DB aus, baue sie in der neuen Form wieder zusammen und pack das ganze in die htaccess. Habs mit einzelnen Datensätzen ausprobiert. Geht hervorragend. Nur weiß ich noch nicht, wie sich das Ganze bei knapp 200 000 DS verhält, wenn die alle in der htaccess auftauchen. Mal sehen.
      Trotzdem Vielen Dank an dich.

      @dedlfix
      url abfangen hieß der Thread.

      1. mod_rewrite ist das Stichwort. Ich lese und alle alten urls via Progrämmchen aus der alten DB aus, baue sie in der neuen Form wieder zusammen und pack das ganze in die htaccess. Habs mit einzelnen Datensätzen ausprobiert. Geht hervorragend. Nur weiß ich noch nicht, wie sich das Ganze bei knapp 200 000 DS verhält, wenn die alle in der htaccess auftauchen. Mal sehen.

        Darum sagte ich dir ja, dass du dir ggf. das "leite alte urls um" handling von RealURL ansehen sollst - ein .htaccess-File mit 20.000 Datensätzen ist ggf. wesentlich unpraktischer als doch die Datenbank im Fehlerfall zu bemühen.

        Wenn ein 404 auftrifft, befragst du die Datenbank und führst einen 301 auf die neue Seite durch - oder eben du nutzt gleich die Built-In-Funktionalität von RealURL, da musst du nur deine bereits bekannten 20.000 Datensätze in eine ggf. andere Struktur umformen und in die nötige Tabelle sein - das dürfte mit einem einzelnen SQL-Statement durchführbar sein.

        Bei dieser Dimension irgendwas mit mod_rewrite zu machen ist imho Irrsinn.

        1. Vielen Dank mal dafür. Werde mir das anschauen. Liebe Grüße

  2. ich kann leider nicht mehr im alten Thread antworten.

    Ich tippe auf den hier.

    @Sven:
    So wie du sagtest werde ich das jetzt machen.

    Wozu? Du verwendest TYPO3 - Sven ging davon aus, dass du selbst herumackerst, in anbetracht der Tatsache dass du ein Framework nutzt, sind Svens Vorschläge nur noch halb so gut. Es ist immer dämlich, an einem Framework vorbeizuarbeiten, da du dir künftige Updates extrem erschwerst - glaub mir, TYPO3 updaten[1] ist PITA wenn jemand nicht vernünftig gearbeitet hat.

    Wenn du meinem Rat folgst, hast du bereits die halbe Miete - sofern du es denn selbst machen möchtest. $param und $ref musst du einfach nur mal dumpen um zu sehen, was da drin steht.

    Leider weiß ich mit meinen bescheidenen php-Kenntnissen nicht genau wie. Mein Problem ist, dass die alte Url statisch war. jetzt ist sie dynamisch.

    Alternative: eine Liste an Weiterleitungen in die Apache-Konfiguration oder in ein .htaccess file ist die beste Lösung.

    D.h. sie wird aus der ensprechenden Spalte einer Tabelle ausgelesen. Ich müsste die alte Url also abfangen, so wie bisher auch. Dann "trimmen", die Tabelle "absuchen" ,den entsprechenden Eintrag aus der aktuellen Spalte auslesen und einen String basteln.
    Kann mir jemand sagen, wie ich da vorgehen soll?

    Auch hier beschreibst das Verhalten, welches TYPO3 - genauer gesagt die extrem ausgereifte, etablierte Extension RealURL - bereits kann. Das musst du einfach nur verwenden - warum das aber eine unkluge Idee ist, erklärt Dimitri Dulepov[2] persönlich. Darum hier nochmal der Rat: mod_rewrite.

    Und alles was dann noch übrig bleibt (also nicht per 301 verschoben oder per 410 entfernt wurde), bekommt beinhart die 404-Seite vorgesetzt - siehe oben, dafür gibts das fertige Errohandling.

    Zu der Duplicate-Content-Sache die Sven erwähnt hat - auch das regelt RealURL selbsttätig - sogar Trailing-Slash und Nicht-Trailing-Slash wird bedacht "appendMissingSlash" ist das Zauberwort.

    [1] das gilt aber auch für andere Frameworks und CMS'
    [2] der derzeitige Maintainer von RealURL