Generuje absolutní cesty namísto relativních

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Bajaja
Člen | 22
+
0
-

Ahoj, přehazuji web na HTTPS a chci se zeptat jak funguje generovaní odkazů. Mám například {Page:default} a na HTTP protokolu mi generuje správně relativní cestu „/page“, jenže po přenastavení web serveru na HTTPS mi to začalo generovat cestu absolutní a navíc s nezabezpečeným protokolem „http://www.domain.cz/page“. Děje se to i u formulářů…

Kde může být chyba?

Pavel Kravčík
Člen | 1195
+
0
-

Máš tohle v routeru? Pak by to mělo jít všechno pěkně.

Route::$defaultFlags = Route::SECURED;
ViPEr*CZ*
Člen | 817
+
0
-

Přenastavil jste si routy: https://doc.nette.org/…tion/routing#…

Bajaja
Člen | 22
+
0
-

Po nastavení

<?php
Route::$defaultFlags = Route::SECURED;
?>

si sice vynutím HTTPS (už ne HTTP), ale v případě, že potřebuju cesty relativní (pro JS pluginy), tak mi to nepomůže.

Pavel Kravčík
Člen | 1195
+
+1
-

Možná by to chtěl ukázat ten zápis „relativních“ cest.

Tohle by mělo fungovat v šabloně, pokud jsou js ve složce www. Případně se dají přes config.neon vytáhnout jiné parametry jako %tempDir%.

src="{$basePath}/javascript/ads/hornymomsinyourarea.js"
Bajaja
Člen | 22
+
0
-

Ja nepotřebuju vkládat JS pomocí relativních cest. Potřebuju generovat cesty na renderery v presenterech. Zmíněné JS pak pracuje s relativními odkazy, což je právě ten problém.

<?php
<li><a n:href="Page:reference">{_'Reference'}</a></li>
?>

Výstup:

<?php
<li ><a href="https://www.domain.cz/page/reference">Reference</a></li>
?>

Požadovaný výstup:

<?php
<li ><a href="/page/reference">Reference</a></li>
?>

Editoval Bajaja (7. 1. 2016 13:35)

Pavel Kravčík
Člen | 1195
+
0
-

Zkontroluj Router a případně předka presenteru, jestli nepřepisuješ generování linků nebo možná htaccess, protože Nette čistý sandbox určitě generuje to, co máš v požadovaném výstupu.

Bajaja
Člen | 22
+
0
-

Hmm :-( Ten webík je úplňe jednoduchej, žádný specialitky. I

<?php
$this->link(':Page:default');
?>

generuje celou cestu.

Jelikož jde o single page web a jde o 5 linků, tak to tam napíšu natvrdo, ale nelíbí se mi to :-/

greeny
Člen | 405
+
+1
-

Absolutní linky to může generovat v případě, že nejsi na https, tzn pokud jsi na localhostu (např. http://localhost/something/www), tak to generuje absolutní odkazy, aby tě to hodilo na https://.