[Frage] Herrausforderung Redirect/URL Rewite ? TYPO3-Version: 10.3.0

  • trashi trashi
    T3PO
    0 x
    27 Beiträge
    0 Hilfreiche Beiträge
    03. 04. 2020, 09:07

    Hallo zusammen,
    ich habe aktuell wieder einiges mit Typo3 zu erledigen und stehe generell ganz gut davor.
    Aber da gibt es eine Herausforderung die mich gerade etwas verzweifeln lässt.

    Vielleicht ist es für den einen oder anderen simpel aber ich stehe glaube auf dem Schlauch.
    Und zwar geht es grob darum ein Intranet nach außen (ins Internet) zeigen zu lassen.

    Ich habe folgende URL intern (intranet.unternehmen.de).

    Nun von der internen Seite klappt alles wunderbar, und nach außen gibt es ein Reverse-Proxy-Eintrag der nach
    app.unternehemen.de/intranet diese Seite ausliefert.

    Problem besteht nun darin das die Seite zwar angezeigt wird, aber alle Referenzen/Bilder/CSS nicht da noch in der URL der Ordner /intranet/ fehlt. (Wenn dieser Ordner manuell an eine URL von einem Bild oder PDF angehängt wird funktioniert dieser auch wunderbar.

    Es muss doch eine Möglichkeit geben diesen Ordner hinzufügen zu lassen sobald der host z.B. app.unternehmen.de ist ?

    Ich habe schon diverse Versuche unternommen dies über .htaccess zu lösen nur greifen diese Regeln nicht befriedigend.

    z.B.
    [code]

    RewriteEngine On
    #RewriteCond %{HTTP_HOST} "^app.unternehmen.de$" [NC,OR]
    RewriteCond %{HTTP_HOST} "^app.unternehmen.de$" [NC]RewriteRule "^/intranet/(.*)$" "http://app.unternehmen.de/intranet/" [R=301,L]

    [/code]

    oder im TypoScript

    [code]

    [globalString = IENV:HTTP_HOST=app.unternehmen.de ]
    cURL = app.unternehmen.de/intranet/
    [END]

    [/code]

    Ob da jemand vielleicht einen Fehler sieht oder eine zündende Idee hat, immer gern.

    Viele Grüße und bleibt gesund,
    trashi

  • Hilfreichster Beitrag

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    1 x
    3078 Beiträge
    132 Hilfreiche Beiträge
    03. 04. 2020, 09:29 - Hilfreichster Beitrag

    Ich sehe da zwei Ansätze:
    1. RewriteBase domainabhängig setzten.
    2. absRefPrefix domainabhängig setzen

    1.) Weiß nicht, ob das via htaccess geht. Es klingt mir aber, als hättest Du ggf. weitergehenden Zugriff auf Euren Server, sodass es ggf. via getrennter vhosts und in deren Config gesetzt werden könnte

    2.) https://docs.typo3.org/m/typo3/reference-typoscript/9.5/en-us/Setup/Config/Index.html?highlight=baseurl#absrefprefix


  • 1
  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    1 x
    3078 Beiträge
    132 Hilfreiche Beiträge
    03. 04. 2020, 09:29

    Ich sehe da zwei Ansätze:
    1. RewriteBase domainabhängig setzten.
    2. absRefPrefix domainabhängig setzen

    1.) Weiß nicht, ob das via htaccess geht. Es klingt mir aber, als hättest Du ggf. weitergehenden Zugriff auf Euren Server, sodass es ggf. via getrennter vhosts und in deren Config gesetzt werden könnte

    2.) https://docs.typo3.org/m/typo3/reference-typoscript/9.5/en-us/Setup/Config/Index.html?highlight=baseurl#absrefprefix

  • trashi trashi
    T3PO
    0 x
    27 Beiträge
    0 Hilfreiche Beiträge
    03. 04. 2020, 09:40

    Hey der Ansatz unter 2. sieht schon mal genau nachdem aus was da sein soll.
    Nur wie frage ich nach der Bedingung?
    Bin erst wieder dabei Typo3 zu verwenden, und mein letzter Kontakt war Version 4 :-/.

    Müsste das nicht so in der Art sein?

    [globalString = IENV:HTTP_HOST=app.unternehmen.de ]
    config.absRefPrefix = /intranet/
    [END]

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    1 x
    3078 Beiträge
    132 Hilfreiche Beiträge
    03. 04. 2020, 11:40

    Wenn Du wie im Thread angegeben unter TYPO3 v10 bist, dann hat sich da bisschen was geändert:
    Feature: #85829 - Implement symfony expression language for TypoScript conditions
    ( https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/9.4/Feature-85829-ImplementSymfonyExpressionLanguageForTypoScriptConditions.html )

    [code][request.getNormalizedParams().getHttpHost() == 'typo3.org']
    # This condition matches if current hostname is typo3.org
    [END][/code]

    https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Conditions/Index.html#request
    oder
    https://docs.typo3.org/m/typo3/reference-typoscript/master/en-us/Conditions/Index.html#getenv

  • trashi trashi
    T3PO
    0 x
    27 Beiträge
    0 Hilfreiche Beiträge
    03. 04. 2020, 12:08

    Ahhh okay das erklärt einiges.
    Aber leider hilft es nicht wirklich weiter. Da bleibt wohl doch nur der griff zu .htaccess.

    Weil z.B.
    [code][request.getNormalizedParams().getHttpHost() == 'unternehmen.de']
    config.absRefPrefix = http://unternehmen.de/intranet/
    [END][/code]

    Also die Regel greift,
    habe zum Test einfach page.logo.file geändert und diese wurde dann geändert od. war nicht mehr zu sehen.
    Aber gerade das was ich ändern will (config.absRefPrefix = http://unternehmen.de/intranet/),
    hat leider komplett null Auswirkungen auf das System. Hätte ja dann erwartet alle URL's den Ordner erhalten dann das erwartete /intranet/ Verzeichnis in der URL erscheint. Doch leider ist dem noch nicht so.

  • trashi trashi
    T3PO
    0 x
    27 Beiträge
    0 Hilfreiche Beiträge
    03. 04. 2020, 12:52

    Kaum zu glauben habe nun die Lösung doch noch gefunden.

    Also mag zwar speziell in unseren DMZ Fall zu funktionieren, aber dieses Setup verhilft mir zum gewünschten Ergebnis. (IP verfälscht)

    [!ip("192.168.*")]
    config {
    absRefPrefix = /intranet/
    }
    [END]

    Aber dennoch vielen Dank Julian für deinen Denkanstoß.

    Somit kann man ja doch erfolgreich in das Wochenende zuhause starten -.-.

    Viele Grüße und bleibt gesund,
    trashi

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    0 x
    3078 Beiträge
    132 Hilfreiche Beiträge
    03. 04. 2020, 14:49

    Noch eine Idee, die mir eben einfiel (durch anderen beitrag von Dir):
    3. Sitekonfiguration
    Anhand unterschiedlich gesetztes ApplicationContexte kannst Du in der Sitekonfiguration baseVariants definieren. IMO dürfte example.com/subfolder/ gültige base sein.

  • trashi trashi
    T3PO
    0 x
    27 Beiträge
    0 Hilfreiche Beiträge
    22. 04. 2020, 13:32

    Interessanter Ansatz, allerdings habe ich nun lang genug beim NOC gehult das ich diesen Ordner da nicht haben möchte.
    Die Problemlösung half bei den aus typo3 generierten gewöhnlichen Links nicht.

    Von daher wäre die Seitenkonfiguration hierfür denkbar gewesen.
    Aber das oben genannte half erstmal dabei um den Entscheidern zu zeigen, dass irgendwelche nutzlosen Pfade/Ordner in der URL nix bringen. Ohne hätte es null Probleme gegeben.

  • 1