Autor Zpráva
nowis
Profil *
Zdravím,

provozuji helpdeskový systém glpi a přesunul jsem jej z virtuálního serveru na webhosting. Vše se zdá funkční, až na databázi znalostí, protože tato sekce má špatné odkazy. Hostuju to na Wedosu a root webu je na www.domena.tld/heldesk/.
Odkazy (ty špatné) jsou ve formátu

www.domena.tld/helpdesk/domains/domena.tld/helpdesk/front/nejakastranka.php
správně by to mělo být
www.domena.tld/helpdesk/front/nejakastranka.php

v kódu je pro zjištění cesty použito $_SERVER['PHP_SELF']
Já jsem to částečně vyřešil tak, že jsem ten řádek nahradil $CFG_GLPI["root_doc"]."/front/".basename($_SERVER['PHP_SELF']);

...což způsobilo, že část začala fungovat (lze prohlížet záznamy) ale část pořád nefunguje (nelze přidat nové)

Konečně se dostávám k otázce - lze něco na hostingu změnit (třeba v .htaccess) aby $_SERVER['PHP_SELF'] vrátil jen /helpdesk/front/nejakastranka.php namísto /domains/domena.tld/helpdesk/front/nejakastranka.php?

Díky za tipy


ještě trochu hledám a zjistil jsem, že lepší než použít

$CFG_GLPI["root_doc"]."/front/".basename($_SERVER['PHP_SELF']);

je lepší

$_SERVER['REQUEST_URI']

Nicméně problém to neřeší, chová se to úplně stejně špatně. Přepisovat všechny PHP_SELF na REQUEST_URI asi taky není řešení, protože by se jednalo o editaci cca 40 souborů, což by sice šlo nějak automatizovat, ale následky jsou těžko odhadnutelné...
Davex
Profil
nowis:
lze něco na hostingu změnit (třeba v .htaccess) aby $_SERVER['PHP_SELF'] vrátil jen /helpdesk/front/nejakastranka.php namísto /domains/domena.tld/helpdesk/front/nejakastranka.php?
V souboru .htaccess nejde skutečná cesta měnit. Možná by mohlo na začátku změnit proměnnou $_SERVER['PHP_SELF'] = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); nebo dát web do kořenového adresáře a nepoužívat aliasy a podadresář /domains/.
Tori
Profil
nowis:
Přepisovat všechny PHP_SELF na REQUEST_URI asi taky není řešení
A nešlo by teda upravit nastavení aplikace, aby tam byla správná adresa rootu webu, a pak všude používat třeba $CFG_GLPI['web_root']? Na jiném hostingu by se to jen přepsalo v nastaveních a do app.byste už nezasahoval.
(Mám taky web na wedosu, alias domény, tentýž problém, ale řeší to za mě PHP router - jen jsem nastavila, aby řetězec "/domains/domena.tld" vyhazoval ze vstupních i výstupních URL a jinak všude místo superglob.proměnných používám $router->getBaseUrl(). GLPI neznám, nevím, jestli to umožňuje.)
nowis
Profil *
Tori:
Díky za odpovědi.

V konfiguraci aplikace to mám nastaveno dobře, proto mi zbytek aplikace funguje. Jenže tu část znalostní databáze asi trošku zanedbávají, ani na jejich fóru mi nikdo neodpovídá.

Začínám si ale myslet, že ta chyba při přidávání nových záznamů je způsobená něčím jiným.

Davex: stěhovat web nemůžu, ale to, že bych na začátku předefinoval $_SERVER['PHP_SELF'] je zajímavý tip, zkusím na to kouknout, díky.
Jan Tvrdík
Profil
nowis:
Viz také http://kb.wedos.com/webhosting/aliasy-chybne-url.html.
nowis
Profil *
Jan Tvrdík:
no jo, tam mě kouknout nenapadlo. Dík

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: