Aplikace na jiné adrese než na výchozí „/“

MedaKeR
Člen | 8
+
+1
-

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 | 762
+
0
-

A nechceš spíše routu

$router->addRoute('/aplikace/', 'Homepage:default');

?
Nebo tam předsadit i doménu.

MedaKeR
Člen | 8
+
0
-

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 | 762
+
0
-

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 | 762
+
0
-

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 | 8
+
0
-

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)