Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Configurazione Virtual Host e variabile di sessione PHP

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: archimede, Triumph Of Steel

Configurazione Virtual Host e variabile di sessione PHP

Postdi smantha77 » 25/11/19 15:20

Ciao a tutti,
ho un problema con la configurazione di un VH su Centos con Apache.

E' un sito che ho lavorativamente "ereditato" e che al momento devo mantenere cosi come è. Sulla macchina Centos ci sono un bel po di Virtual Host, tutti con la stessa forma

Codice: Seleziona tutto
    # The virtual host configuration for my.website.com
    #<Directory "/var/www/my.website.com/html">

    <Directory "/var/www/my.website.com/html">
            Order allow,deny
            Allow from all
            AllowOverride Limit FileInfo Indexes
    </Directory>

    <Files ~ ".passwd">
            Order allow,deny
            Deny from all
    </Files>

    <Virtualhost *:80>
            ServerName newlookandfeel.mycustomer.com
            ServerAlias newlookandfeel.mycustomer.com
            DocumentRoot /var/www/my.website.com/html
            ErrorLog logs/mycustomer-error_log
            CustomLog logs/mycustomer-access_log common

            RewriteEngine On
            RewriteLog "/var/log/httpd/rewrite.log"
            RewriteLogLevel 1
            ProxyPreserveHost On

    </VirtualHost>


Poi nel folder /var/www/my.website.com/html ho un file php che carica le varie configurazioni dei clienti

Codice: Seleziona tutto
    class ConfigLoader
    {
        /**
         * Determine URL used for accessing the page and load proper config file
         * @return
         */
        public static function loadConfiguration()
        {

            $server = $_SERVER['SERVER_NAME'];

            switch($server)
            {
                case 'newlookandfeel.mycustomer.com':
                    require_once 'lookandfeel/mycustomer.php';
                    break;
                case 'lookandfell.anothercustomer.com':
                    require_once 'lookandfeel/anothercustomer.php';
                    break;
    ...... and so on
                default:
                    require_once 'lookandfeel/default.php';
                    break;


Qualche giorno fa abbiamo ricevuto una richiesta da un cliente per una nuova configurazione. Il cliente si è registrato il dominio e lo ha fatto puntare all'indirizzo pubblico del front end.
Ho creato il VH usando il solito template, ho creato la configurazione, ma mi carica sempre e solo la configurazione di default.

Se vado in tail sul file /etc/httpd/logs/access_log vedo che la richiesta mi arriva come

Codice: Seleziona tutto
XX.XX.XX.XX - - [25/Nov/2019:07:42:40 +0000] "GET / HTTP/1.1" 200 3379 "http://newlookandfell.mycustomer.com/" "Mozilla/5.0 (Windows NT 10.0;WOW64; Trident/7.0; rv:11.0) like Gecko"


Ma se mi faccio stampare da PHP la variabile $server ottengo l'indirizzo IP pubblico. Quindi lo switch del file php riceve una variabile sbagliata e non funziona correttamente.
Per il momento ho messo una pezza modificando il file php con lo switch, ma non può essere la soluzione definitiva, devo capire perche mi arriva l'IP e non il server name.

Qualcuno sa darmi qualche dritta?

Grazie
I will follow Him,
Follow Him wherever He may go,
There isn't an ocean too deep,
A mountain so high it can keep,
Keep me away, away from HIM
smantha77
Utente Junior
 
Post: 33
Iscritto il: 13/03/03 14:21

Sponsor
 

Postdi archimede » 26/11/19 11:32

smantha77 ha scritto:Ho creato il VH usando il solito template, ho creato la configurazione
E poi hai riavviato Apache (service httpd reload mi pare)?

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi smantha77 » 26/11/19 18:41

Certo, ho fatto sia stop / start che reload.
I will follow Him,
Follow Him wherever He may go,
There isn't an ocean too deep,
A mountain so high it can keep,
Keep me away, away from HIM
smantha77
Utente Junior
 
Post: 33
Iscritto il: 13/03/03 14:21

Postdi archimede » 28/11/19 13:58

Non sono esattamente un esperto di PHP, ma forse puoi provare a usare HTTP_HOST invece di SERVER_NAME?

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi smantha77 » 28/11/19 17:20

Grazie archimende,
scusami avrei dovuto scriverlo, ho già provato HTTP_HOST e se lo stampo in console ottengo sempre l'ip pubblico del sito
I will follow Him,
Follow Him wherever He may go,
There isn't an ocean too deep,
A mountain so high it can keep,
Keep me away, away from HIM
smantha77
Utente Junior
 
Post: 33
Iscritto il: 13/03/03 14:21

Postdi Dylan666 » 28/11/19 22:40

Hai provato aggiungendo un UseCanonicalName = On nel Virtualhost?
Avatar utente
Dylan666
Moderatore
 
Post: 38482
Iscritto il: 18/11/03 16:46

Postdi archimede » 29/11/19 11:32

Occhio che
Codice: Seleziona tutto
newlookandfell
e
Codice: Seleziona tutto
newlookandfeel
sono due cose diverse.

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi smantha77 » 03/12/19 12:54

Grazie Archimede, si i due nomi sono diversi, ma è un errore che ho commesso nel modificare gli url qui. Nei file di configurazione sono uguali.

Dylan, ma lo usecanonicalname è da mettere nella configurazione di apache o del virtual host? Perchè nella configurazione di apache non vorrei toccare nulla.
I will follow Him,
Follow Him wherever He may go,
There isn't an ocean too deep,
A mountain so high it can keep,
Keep me away, away from HIM
smantha77
Utente Junior
 
Post: 33
Iscritto il: 13/03/03 14:21

Postdi Dylan666 » 03/12/19 14:15

Ultima modifica di Dylan666 su 03/12/19 14:17, modificato 1 volte in totale.
Avatar utente
Dylan666
Moderatore
 
Post: 38482
Iscritto il: 18/11/03 16:46

Postdi archimede » 03/12/19 14:15

smantha77 ha scritto:Nei file di configurazione sono uguali.
Ma io non mi riferisco ai file di configurazione, bensì all'access_log: sembra che hai sbagliato a scrivere l'url nel browser, se interpreto correttamente.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova


Torna a Programmazione


Topic correlati a "Configurazione Virtual Host e variabile di sessione PHP":

CONFIGURAZIONE HUAWEI
Autore: themisterx
Forum: Discussioni
Risposte: 0

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti