Aplikace na jiné adrese než na výchozí „/“
- MedaKeR
- Člen | 14
Ahojte,
mám aplikaci co je dostupná na adrese domena.cz/aplikace/
ale
adresář www je v Apache DocumentRoot (v tomto adresáři je
index.php
). Problém nastane když chci přesměrovat na
Homepage:default – dostávám relativní adresu /
(směruje na
domena.cz/
).
Pokud přepíšu routu na
$router->addRoute('aplikace/', 'Homepage:default');
tak při načtení domovské stránky dostanu přesměrování na url
domena.cz/aplikace/aplikace/
.
Cílem je mít na adrese domena.cz/aplikace/
domovskou stránku
a všechny ostatní routy braly /aplikace/
jako výchozí.
Editoval MedaKeR (3. 1. 2023 19:22)
- Kamil Valenta
- Člen | 820
A nechceš spíše routu
$router->addRoute('/aplikace/', 'Homepage:default');
?
Nebo tam předsadit i doménu.
- MedaKeR
- Člen | 14
A nechceš spíše routu
$router->addRoute('/aplikace/', 'Homepage:default');
Takováhle routa mě pošle na ...cz/aplikace/aplikace/
.
?
Nebo tam předsadit i doménu.
$router->addRoute('//%host%/aplikace/', 'Homepage:default');
A routa takto také.
Problém je v tom, že aplikace je fyzicky na jiném serveru,
domena.cz/aplikace/
je pouze reverse proxy – vezme to co je za
aplikace/
a předá to serveru kde aplikace běží.
Takže když mám adresu např. domena.cz/aplikace/user/login
tak jí standartně odpovídající routa je
('/aplikace/user/login', 'User:login')
.
Jenže server s aplikací v mém případě obdrží pouze
/user/login
. A když pak přes n:href
vkládám odkaz
tak potřebuji před samotnou routu vložit /aplikace/
tak, aby to
nebylo součástí routeru.
Editoval MedaKeR (4. 1. 2023 10:54)
- Kamil Valenta
- Člen | 820
Aha, info že je to za proxy v úvodu chybělo. A je proxy nastavená v neonu? Předává proxy hlavičku X_FORWARDED_HOST?
- Kamil Valenta
- Člen | 820
MedaKeR napsal(a):
Nebo tam předsadit i doménu.
$router->addRoute('//%host%/aplikace/', 'Homepage:default');
A routa takto také.
Myslel jsem explicitně.
$router->addRoute('https://domena.cz/aplikace/', 'Homepage:default');
- MedaKeR
- Člen | 14
Kamil Valenta napsal(a):
Aha, info že je to za proxy v úvodu chybělo. A je proxy nastavená v neonu? Předává proxy hlavičku X_FORWARDED_HOST?
Proxy v neonu nastavená je, HTTP_X_FORWARDED_HOST obsahuje pouze
domena.cz
.
Pokud by HTTP_X_FORWARDED_HOST vracel
domena.cz/aplikace/
, pomohlo by to?
Myslel jsem explicitně.
$router->addRoute('https://domena.cz/aplikace/', 'Homepage:default');
Tahle routa mě přesměruje na
https://domena.cz/aplikace/aplikace/
hned po načtení https://domena.cz/aplikace/
Editoval MedaKeR (4. 1. 2023 14:49)