problema con $_SERVER['DOCUMENT_ROOT']

ciao,

ho un problema con web root e  server root di un pannello admin del sito.

$thisFile = str_replace('\\', '/', __FILE__);

$docRoot = $_SERVER['DOCUMENT_ROOT'];



$webRoot  = str_replace(array($docRoot, 'library/config.php'), '', $thisFile);

$srvRoot  = str_replace('library/config.php', '', $thisFile);



define('WEB_ROOT', $webRoot);

define('SRV_ROOT', $srvRoot);

e il menu di navigazione:

<li><a href="<?php echo WEB_ROOT; ?>admin/">HOME</a></li>
       <li><a href="<?php echo WEB_ROOT; ?>admin/product/index.php?id=1">menu1</a></li>
       <li><a href="<?php echo WEB_ROOT; ?>admin/product/index.php?id=2">menu2</a></li>
       <li><a href="<?php echo WEB_ROOT; ?>admin/product/index.php?id=3">menu3</a></li>
       <li><a href="<?php echo WEB_ROOT; ?>admin/user/">UTENTI</a></li>
       <li><a href="<?php echo $self; ?>?logout">ESCI</a></li>

in locale mi funziona tutto correttamente, mentre sul server mi sballa i percorsi degli url

per esempio per accedere alla parte admin devo autenticarmi tramite la pagina login.php:

www.miosito.com/admin/login.php, mentre sul server mi ritrovo con www.miosito.com/admin/admin/login.php e tutti gli altri url di conseguenza

come posso risolvere il problema?

grazie

inviato 8 anni fa
iTek
iTek
1
X 0 X

Ciao,

ti consiglio di sostituire la riga

$docRoot = $_SERVER['DOCUMENT_ROOT']

con

$docRoot = $_SERVER['HTTP_HOST']

 :bye:

Zeta

risposto 8 anni fa
zeta80
X 0 X

Una puntualizzazione .. non hai spiegato dove si trova lo script al momento della richiesta :

perche tu scrivi .....

ho un problema con web root e  server root di un pannello admin del sito.

$thisFile = str_replace('\\', '/', __FILE__);

$docRoot = $_SERVER['DOCUMENT_ROOT'];
 

se parli di pannello si ammistrazione presumo che tu sia gia nella root admin ..... ho sbaglio ?

la richiesta $_SERVER['DOCUMENT_ROOT']

come risultato ti da www.miosito.it .... quindi la directory principale del tuo sito ......

quindi prova a scrivere cosi .....

// cosi hai il riferimento principale a root ....   quindi www.miosito.it

$_SERVER['DOCUMENT_ROOT']

quindi se hai questa riga ....

<li><a href="<?php echo $_SERVER['DOCUMENT_ROOT']; ?>admin/product/index.php?id=1">menu1</a></li>

l'url che ne verra fuori sara'

www.miosito.it/admin/product/index.php

capito ?

mi sono spiegato ?

speriamo di essermi spiegato .....

risposto 8 anni fa
costaplus
X 0 X

Ma alla fine e servito ho no ?

nemmeno una riga di risposta .. ?

risposto 8 anni fa
costaplus
X 0 X

Ma alla fine e servito ho no ?

nemmeno una riga di risposta .. ?

hai ragione, scusa. :)

purtroppo era una cosa urgente da fare e il tempo era quello che era....

ho provato la tua soluzione ma non funzionava. Non chiedermi cosa e come perchè come ti ho detto non ne ho avuto il tempo.

ho risolto ( purtroppo) mettendo tutti url assoluti... >:(

lo so che non è molto elegante e va a scapito della portabilità dello script se voglio riciclarlo.

Il fatto è che l'ho usato in altri server e funziona tutto senza dover modificare nulla...

con questo server, a***a ( non metto il nome completo) invece non va bene. Immagino siano le loro impostazioni.

grazie lo stesso, cmq per la tua disponibilità e gentilezza.

Ps: appena ho più tempo torneremo sull'argomento che voglio capire bene come funziona  O0

risposto 8 anni fa
iTek
iTek
1
modificato 8 anni fa
X 0 X

OK ! va bene quando ri porverai riscrivimi cosi ne riparliamo

risposto 8 anni fa
costaplus
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda