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.
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]
oder im TypoScript
[globalString = IENV:HTTP_HOST=app.unternehmen.de ]
cURL = app.unternehmen.de/intranet/
[END]
Ob da jemand vielleicht einen Fehler sieht oder eine zündende Idee hat, immer gern.
Viele Grüße und bleibt gesund,
trashi
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
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]
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.
[request.getNormalizedParams().getHttpHost() == 'unternehmen.de']
config.absRefPrefix = http://unternehmen.de/intranet/
[END]
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.
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
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.
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.