realURL anpassen

  • TineBln TineBln
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    12. 07. 2010, 16:39

    Hallo,

    leider habe ich ein Problem mit dem Anpassen von realURL und hoffe, dass mir hier geholfen werden kann.

    Grundsätzlich stellt die Extension meinen Inhalt momentan schon richtig dar (www.......de[b]/unterseite1/[/b] statt http://www.......de/[b]index.php?id=1[/b])
    Nun habe ich aber das Problem, dass die Seite eine schon existierende, nicht in Typo3 erstellte Webseite ersetzen soll, und diese erwartet Parameter. Dies geschieht bisher auf diese Art und muss daher auch so übernommen werden, da frühere Besucher den Inhalt sonst nicht mehr richtig zu sehen bekommen würden:
    http://www.......de/[b]unterseite1/index.php[/b]?irgendwas=bla

    Die Umstellung auf Typo3 soll jetzt daher auf die gleiche Art funktionieren können. Also wenn man noch index.php dahinter hängt soll es ebenfalls aufgerufen werden können und nicht den Fehler "File "index.php" was not found" produzieren. Daher dachte ich, dass ich das index.php an den neu erstellten Pfad per Konfiguration "heranhänge", scheitere jedoch leider daran. Könnt ihr mir einen Tipp geben?

    LG Tine


  • 0 x
    3179 Beiträge
    151 Hilfreiche Beiträge
    13. 07. 2010, 09:24

    Hallo Tine.

    Lassen sich denn die alten Parameter aus den neuen Seiten ersehen? D.h. könnte realurl diese in der Datenbank finden?

    Falls es eine überschaubare Anzahl ist, wäre eine händische Lösung in der htaccess eine Option (die zugleich auch via Status 301 mitteilt, dass die alte URL veraltet ist):

    1. RewriteCond %{QUERY_STRING} ^irgendwas=bla$
    2. RewriteRule ^/index.php$ /alles-paletti/unterseite.html%1? [R=301,L]

    Viele Grüße
    Julian

  • TineBln TineBln
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    13. 07. 2010, 11:17

    Hallo Julian,

    danke für die Antwort!
    Im Prinzip ist es nur 1 Parameter, der nicht im Typo3 irgendwo eingestellt ist. Es handelt sich dabei um eine Art ID/Timestamp der an ein Flash übergeben wird, damit dieses damit dynamischen Inhalt abfragen kann. Es ist auch möglich, dass diese nicht an die URL angehangen wird, dann wird ein anderer Inhalt dargestellt.

    Der Parametername bleibt daher immer gleich, der Inhalt ist aber unterschiedlich. Könnte ich diesen trotzdem irgendwie in die Datenbank eintragen?

    Zu deinem Beispiel: Dies müsste ich aber für jede Unterseite einstellen, oder?
    Eigentlich soll es eine Lösung sein, die auch bei neu hinzukommenden Menüpunkten funktioniert, im Prinzip wäre es ok, wenn generell an alle Menüpunkte ein index.php dazukommt.

    LG Tine

  • 0 x
    3179 Beiträge
    151 Hilfreiche Beiträge
    13. 07. 2010, 13:00

    Hab ich das jetzt richtig verstanden, dass
    1. alte URLs weiterhin funktionieren sollen, die in der Art unterseite1/index.php?irgendwas=bla waren?
    2. TYPO3-Seiten auch weiterhin in der URL einen Parameter für ein Flash haben sollen?
    3. Nur ein Parameter nötig ist, der aber verschiedene, seitenabhängige Werte hat?

  • TineBln TineBln
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    13. 07. 2010, 13:33

    zum Teil...
    Also:
    Der Parameterwert ist nicht seitenabhängig sondern eine Art Zeitstempel+ID der nur in manchen Fällen angehangen wird. Standardmäßig ist er erstmal nicht gesetzt..

    Ich versuche es nochmal genauer zu erklären:
    Bisher war es so, dass ein Seitenbesucher auf die Seite http://www.......de/unterseite1/ ODER http://www.......de/unterseite1/index.php OHNE Parameter ging und dort etwas in der dort angezeigen Flashdatei erstellen konnte. Seine "Kreation" konnte er dann an eine Emailadresse verschicken.
    Damit dieser spezielle Inhalt "identifizierbar" und noch einmal darstellbar wird, wurde die "Kreation" in eine DB (nicht Typo3!) geschrieben.
    In der Email bekam der Empfänger dann den Link mit der einmaligen Identifizierung an der URL http://www.......de/unterseite1/index.php?spezielleidentifizierungsnr=123455665 (die Nr. ist demnach immer unterschiedlich, Parametername gleich).
    "Hintenrum" passierte dann bei Aufruf mit dem Parameter folgendes: Der Parameter wurde an das Flash weitergegeben und wenn vorhanden der entsprechende Inhalt dargestellt / aus der DB abgerufen.
    Wenn man die Seite ohne Parameter aufrief, bekam man weiterhin die Standardanzeige.

    Nun wird das Projekt doch etwas größer als gedacht (weitere Features, auch ohne Flash) und Typo3 kam ins Spiel. Damit die Emailempfänger nach der Umstellung trotzdem noch den Inhalt des an sie geschickten Links ansehen können, brauche ich die Möglichkeit den Link genauso aussehen zu lassen wie zuvor.

    Ich hoffe es ist bis hierhin verständlich?

    Ich glaube, dass der Parameter im realURL keine Rolle spielt, denn ich kann auch jetzt irgendwelche Parameter an die http://www.......de/unterseite1/ heranhängen und bekomme keinen Fehler. Sie haben ja nichts mit den Typo3-Einstellungen zu tun.
    Im Prinzip bräuchte ich daher wohl nur die Möglichkeit, dass man an die "verformte" URL einfach noch nach dem letzten / ein "index.php" heranhängen KANN und dieses Ignoriert wird. Wenn ich dann "händisch" noch irgendwas dazuschreibe (www.......de/unterseite1/?irgendwas=blablub) dürfte es Typo3 soweit ich es verstehe egal sein? Zumindest produziert er bei mir hier keinen Fehler und ignoriert den Parameter wie gewünscht.
    Auslesen kann ich den Parameter trotzdem beim Einbinden meiner Flashdatei über Typoscript, das habe ich schon ausprobiert. Daher benötige ich wohl wirklich nur die Möglichkeit jeden Link meiner Seite auch mit einem zusätzlich an die URL angehangenen index.php aufzurufen ohne eine Fehlermeldung zu bekommen.
    Puh... ich hoffe ich habe nun nicht noch mehr Verwirrung gestiftet...

    Nochmal kurz zu deinen Punkten:
    zu 1.: Ja, siehe oben, Parameter optional, es fehlt zur Zeit nur ein index.php hinter der gesamten URL an das die Parameter gehängt werden
    zu 2.: Optional und nicht auf allen Typo3-Seiten, nur bei denen es notwendig ist / Wenn anderer Flashinhalt dargestellt werden soll
    zu 3.: nicht seitenabhängig, sondern der Parameter kann irgendetwas sein / nicht Typo3 abhängig

    Vielen Dank!!

  • 0 x
    3179 Beiträge
    151 Hilfreiche Beiträge
    13. 07. 2010, 14:39

    Ok, denke, jetzt tiefer drin zu sein, um eine mögliche Lösung zu finden.

    [u]Neu von Flash erzeugte "Kreations"-Links[/u]
    Wenn diese die Form ohne index.php haben dürfen (www.......de/unterseite1/?irgendwas=blablub), dann sollte sich das aus Flash heraus ja so bastel lassen (oder wo werden die Links generiert?)

    [u]URL-Interpretation/realURL[/u]
    Über defaultToHTMLsuffixOnPrev=false ließe sich verhindern, dass aus "Unterseite 1" in der URL unterseite-1.html wird. Kombiniert mit appendMissingSlash lässt sich am Ende ein Slash erzwingen.
    Damit sollte dann ein neu erstellter (bzw. auch alter) Link der Form http://www.......de/unterseite1/?irgendwas=blablub funktionieren.
    Mit einem Rewrite - leider für jede einzelne Seite - würde sich das frühere 'index.php' beseitigen lassen. Ungetestet als Ansatz:

    1. RewriteCond %{REQUEST_URI} ^unterseite-1/index.php$
    2. RewriteCond %{QUERY_STRING} ^irgendwas=[^&=]$
    3. RewriteRule ^/index.php$ /unterseite-1/%1? [R=301,L]

  • TineBln TineBln
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    13. 07. 2010, 14:53

    [quote="Julian.Hofmann"]
    [u]Neu von Flash erzeugte "Kreations"-Links[/u]
    Wenn diese die Form ohne index.php haben dürfen (www.......de/unterseite1/?irgendwas=blablub), dann sollte sich das aus Flash heraus ja so bastel lassen (oder wo werden die Links generiert?)[/quote]

    Dies funktioniert ja leider nicht, da die bisherigen Links in den Mails das index.php enthielten. Somit würden sie dann weiterhin ins leere laufen o.O
    Die neuen Links derart zu ändern würde funktionieren (wobei ich dann wohl auch einen ganz anderen Weg wählen könnte), aber nachwievor sind die bestehenden Verlinkungen das Problem.
    Wenn ich http://www.......de/unterseite1/?irgendwas=blablub nehmen könnte würde es ja auch mit der Standardkonfiguration von realURL funktionieren ohne etwas umzustellen oder verstehe ich dich jetzt falsch? Denn diese erstellt mir ja schon standardmäßig absolut richtig die URLs in Form von http://www.......de/unterseite1/ ohne, dass ich etwas umstellen muss.
    Nur ein index.php kann ich dann nicht mehr anhängen und benötige es als "mögliche Option ohne Fehlermeldung" :'(

    Für den Aufruf ohne Parameter würde es mit den realURLs auch jetzt schon gehen. Es muss nur noch die Möglichkeit geben auch ein index.php daran zu hängen und zu der gleichen Seite wie ohne das index.php zu gelangen. Vielleicht wäre das auch ein Ansatz der funktioniert?
    http://www.......de/unterseite1/ ist das gleiche wie http://www.......de/unterseite1/index.php und beides muss möglich sein.

  • 0 x
    3179 Beiträge
    151 Hilfreiche Beiträge
    13. 07. 2010, 15:03

    Ja, das wäre (zumindest vom Ansatz her) der zweite Abschnitt. Dass einerseits die neuen URLs so erzeugtw erden, dass sie zu den alten passen, andererseits per Rewrite schon [u]bevor[/u] realURL greift oder TYPO3 irgendetwas ausliest, die URL neugeschrieben/redirected wird auf die neue Form (damit aber alte Links weiterhin funktionieren).

  • TineBln TineBln
    T3PO
    0 x
    11 Beiträge
    0 Hilfreiche Beiträge
    13. 07. 2010, 15:08

    Achso, ich hatte

    [quote="Julian.Hofmann"]

    1. RewriteCond %{REQUEST_URI} ^unterseite-1/index.php$
    2. RewriteCond %{QUERY_STRING} ^irgendwas=[^&=]$
    3. RewriteRule ^/index.php$ /unterseite-1/%1? [R=301,L]

    [/quote]

    so interpretiert, dass es dann nur noch wie http://www.......de/unterseite1/?irgendwas=blablu funktioniert #paralyzed#
    Wenn eine neue Seite dazukommt muss diese dann aber IMMER händisch in der htaccess geändert werden? Oder gibt es keinen generellen Ansatz, dass index.php an der URL erlaubt ist und ignoriert wird? Ich hätte nicht gedacht, dass dies sooo kompliziert ist :'(

  • 0 x
    3179 Beiträge
    151 Hilfreiche Beiträge
    13. 07. 2010, 15:34

    [quote="TineBln"]Wenn eine neue Seite dazu kommt muss diese dann aber IMMER händisch in der htaccess geändert werden?[/quote]

    Ja. Außer, Du kannst die Adressen anhand eines Regulären Ausdrucks eindeutig festlegen (z.B. durchnummerierte Seiten oder alles, was mit "unterseite" beginnt odgl.).
    Mit Rewrites kann man da viiiiel Baseln und Tricksen (Weshalb es auch nicht ganz so einfach, kurz udn eindeutig zu lösen ist).

    [quote="TineBln"]Oder gibt es keinen generellen Ansatz, dass index.php an der URL erlaubt ist und ignoriert wird?[/quote]
    Dafür installierst Du ja eigentlich realURL, dass das [u]nicht[/u] mehr da ist. Es gibt in realurl eine Möglichkeit, filenames in Parameter zu überführen (z.B. print.html => &type=98-). Bei index.php dürfte das aber nicht klappen, da ja tatsächlich die http://www.example.org/[b]index.php[/b] immer aufgerufen wird.

    Eine Überlegung ist noch, ob zu per RewriteCond ein "index.php?irgendwas=" abfangen kannst.