Zum Inhalt springen

Dynamische BaseURL

Erstellt am 1. Dezember 2006 · 15 Antworten · letzte Antwort am 21. März 2013

Tags: Frage

einpraegsam.​net ·

Suche eine Möglichkeit (vielleicht per userfunc) die BaseURL dynamisch zu vergeben

Beispiel:
Kommt ein Besucher über domain1.com dann soll automatisch domain1.com als baseurl eingerichtet werden - das gleiche dann auch für eine andere Domain

Jemand eine Idee?

Grüße, Alex

Hintergrund: Chef bildet sich ein, wir brauchen so etwas... 🙁

einpraegsam.​net ·
just2b schrieb

conditions? 😉

Das wäre aber nicht dynamisch - hier muss ich vorher die domain1.com und domain2.com festlegen, aber ich brauche eine Lösung ohne die Domains vorher zu kennen 🙁

just2b ·

das wird vermutlich nicht funktionieren, aber vielleicht über ein temporärs objekt wo du das abfrägst und dann zuweist?

edit: guck mal hier: #513351

Cybersmog ·
just2b schrieb

hmm? 😉

temp.foo = TEXT
temp.foo.data = getenv : HTTP_REFERRER
...
config.baseUrl < temp.foo

Ich habe es wie beschrieben probiert, aber es wird nicht richtig geparsed. Bei mir steht dann TEXT in der BaseURL:

<base href="TEXT" />

Ideen?

Gruß
Peter

just2b ·

die baseUrl macht ja im Grunde auch nur nen metaTag. Bin grad zu faul um nachzuschauen, deswegen nur so ca-Angaben:

page.headerData.50 = TEXT
page.headerData.50.data = getenv : HTTP_REFERRER
page.headerData.wrap = <meta blabla=" | "bla />

georg

Cybersmog ·

Aber klar doch, war vorher nur noch nicht so weit 😉

page.headerData.50 = TEXT
page.headerData.50.data = getenv : HTTP_HOST
page.headerData.50.wrap = <base href="http:// | /" />

Gruß
Peter

jousch ·

Hey liebe Leute,

die Variante das so per headerData einzubauen ist nicht mehr wirklich die beste, da sich manche andere Teile von TYPO3 auch der config.baseURL bedienen, sofern ich mich erinnern kann (ohne es jetzt zu recherechieren!).

Da stdWrap für den gesamten CONFIG Bereich ja auch in Zukunft nicht angedacht ist, wollt ich mal fragen ob ihr bislang eine andere Möglichkeit als headerData verwendet habt...

thx

crost ·

Hallo,

folgender Ansatz sollte eleganter sein, und da "config.baseURL" direkt gesetzt wird, auch das geschilderte Problem lösen. Zum Ablauf - für eine vollständige URI benötigen wir das Protokoll und die Domain. Damit können wir gezielt die URI für "config.baseURL" in der Form "{protocol}://{domain}/" zusammen stellen - auch Domain übergreifend.
Dazu wird das TS-Template der root-Page angepasst - entweder direkt oder als separates TS-Template, welches eingebundenes wird.

------------------------------------------------------------------
-- 1. Bestimmung des Protokolls und der Domain als TS-Konstanten
------------------------------------------------------------------

# Bestimmung des verwendeten Protokolls (http/https)
protocol = http
[globalString = IENV:TYPO3_SSL=1]
    protocol = https
[global]

# Bestimmung der verwendeten Domain
host = yourdomain.de
[globalString = IENV:HTTP_HOST=www.yourdomain.de]
    host = www.yourdomain.de
[globalString = IENV:HTTP_HOST=static.yourdomain.de]
    host = static.yourdomain.de
[globalString = IENV:HTTP_HOST=yourdomain.com]
    host = yourdomain.com
[globalString = IENV:HTTP_HOST=www.yourdomain.com]
    host = www.yourdomain.com
[global]

------------------------------------------------------------------
-- 1. Zusammenstellen der URI im TS-Setup
------------------------------------------------------------------

config {
    baseURL = {$protocol}://{$host}/
}

Die Informationen findet Ihr auch unter BaseURL per TypoScript dynamisch setzen