Passa ai contenuti principali

Domini - Apache2 - Creare una pagina di cortesia e redirect con 1 VirtualHost

Abbiamo analizzato nei post precedenti riguardanti il THE MATRIX MACHINE Project molti aspetti dei virtual host per creare dei siti ad accesso del dominio.

Spesso capita, però, che alcuni domini (come per apple.co o microsoft.cloud) possano essere semplicemente dei brand protector (famoso il caso giudiziario di mikerowesoft.com con Microsoft, clicca qui) quindi non necessariamente usati per definire siti ad hoc.






Possiamo sobbarcare un server con la gestione di diversi siti che fanno redirect semplice o al più una singola pagina di cortesia?

Dipende, ma in linea di massima, se non abbiamo tanti indirizzi IP e tante macchine da poter usare adeguatamente, diventa complesso.

Allora perché spendere di più quando con poche righe di codice ed 1 virtual host non possiamo gestire 40 - 100 e più domini?

Il primo luogo, come descritto nel post Gestione DNS - Come configurare i DNS di un dominio e del Rotuer dobbiamo far convergere tutti i domini in nostro possesso (usando ad esempio CName) verso il nostro server

Fatto questo ora dobbiamo attivare il virtualhost di default come quello riportato di seguito




Questo Host Virtuale non avendo definito il nome (tipo dicecca.cloud) si fa carico di visualizzare una pagina (il famoso It Works del primo post sui Virtual Server) uguale per tutti i siti da cui riceve richiesta.

A questo punto ci vuole un po' di PHP per risolvere il tutto con solo file e senza database.

Vediamo il seguente codice php del file inex.php che andiamo a mettere nella cartella di default

   
    /*******************************************************************
     *
     * Sistema multi switcher per domini senza registrazione host su
     * Apache 2
     *
     * (C) 2016 - today - dicecca.net - Editorial Video Lab.
     *
     * www.dicecca.net
     *
     * dEC System III
     *
     * beta 1
     *
     *******************************************************************/

     /*
     * Controlla il dominio e reindirizza al file che reindirizza al
     * sito desiderato
     * Questo sistema non appesantisce la macchina server che legge il
     * dominio e lo carica il file di redirect.
     * Per tutti gli altri domini carica la pagina di default.
     */

   
    // Memorizza il nome dell'host (ovvero del dominio) chiamato
    $host=$_SERVER["HTTP_HOST"];
   
   
    // Switch degli host
    // Se trova i domini che sono elencati, esegui qualche cosa
    switch ($host) {
   
        //
        // Case domini propri dicecca.net
        //
       
        case "www.dicecca.cloud":
                include_once "diceccacloud.html"; // Carica la pagina di redirect dedicata
            break;


        // altra lista di domini simile a quella del case di sopra
        //...
        //...
        //...
               
        //
        // Caso di default, se non fa parte della lista, carica la pagina di cortesia
        //
        default:
                include_once "courtesy.php"; // Carica la pagina di cortesia standard
       
    }// Chiude switch

?>



$host legge il nome del dominio che fa richiesta della pagina di default (arriva per secondo, dopo che Apache2 ha visto che non fa parte dei domini disponibili dei virtual host) e passa allo switch/case (che ha costo computazionale basso e di scritturra più semplice di if-then-else)

Se nella barra del browser scriviamo www.dicecca.cloud, il sistema caricherà il codice presente nel file diceccacloud.html (nella root del virtual host default) e lo lancerà in automatico:

Pagjna caricata da dicecca.cloud


quindi si può facilmente creare anche un redirect più o meno intelligente

Nel caso scrivessimo 11811.eu (Metropolis docet...), non essendo un dominio presente nella lista, si attiverebbe la parte default che carica la pagina di cortesia




Pagina semplice, che può essere complicata come meglio si crede

Commenti

Post più popolari

Mac OS X - Installare ed usare una stampante sul Print Server GetNet 3 Port 2 USB e 1 LPT

Abbiamo visto come installare il Print Server GetNet 3 in 1 sui più diffusi sistemi operativi Windows (vedi articoli correlati in fondo al post). La "scatoletta" ha anche un protocollo di comunicazione Apple Talk, quindi può essere collegata (fare da tramite) anche a stampanti che abbiano la gestione post script integrata (quasi tutte le stampanti salvo quelle del gruppo Ricoh che hanno bisogno di un apposito moduol installato) sul Mac. Print Server GetNet 1 Parallela e 2 USB Il metodo di installazione è molto simile a quello visto su Windows, con la differenza sostanziale che non è necessario scegliere tra moltissimi modelli, ma si gestisce in modo più semplice. Purtroppo sul Mac non è possibile (allo stato attuale) collegare print server di tipo TP-Link, ovvero replicatori di porta USB su Lan, in quanto non esiste un driver adatto. Detto questo, consideriamo la stampante che vogliamo collegare al Mac. Il caso che abbiamo usato nei precedenti post,

BlackBerry - Importare i dati da altri cellulari

English translated post Un amico mi porta un BlackBerry Pearl 8110 e mi chiede di trasferire i dati dal suo cellulare Nokia a questo telefono. Premesso che personalmente non ho mai reputato il BlackBerry un telefono "semplice", l'operazione si è reputata piuttosto complessa. Scartata l'idea di mandare i vcard via bluetooth (come si fa con quasi tutti i Nokia e Samsung), l'unica alternativa è quella di appoggiarsi a Microsoft Outlook !!! Come fare? 1 - Installare il Microsoft Outlook (XP o 2003) nel proprio PC 2 - Installare (nel caso specifico del Nokia) il programma Nokia PC Suite 3 - Sincronizzare solo la Rubrica (ovviamente dipende sempre se il cellulare Nokia è il Vostro o di un Vostro amico) del Nokia con l'Outlook, così che tutti i dati presenti nella Rubrica siano copiati nella sezione Contatti dell'Outlook 4 - Scaricare l'ultima versione del BlackBerry Desktop Manager (se il pacchetto è quello Vodafone, la versione sul CD non è mo

Joomla! - Mettere la testata in Stampa

Come è noto Joomla! è uno dei più usati CMS (Content Managment System) che consente di avere un ambiente (environment) sul quale costruire e sviluppare siti e portali. Uno dei problemi più noti è quello di poter inserire la testata nel file da stampare. Ad esempio se il mio sito si chiama dicecca.net - Blog ed ha un logo particolare che voglio pubblicare come testata, nella conformazione classica, non posso farlo. Come risolvere? Premesso che tutto il sistema è scritto in linguaggio PHP, il file che viene chiamato in causa è component.php che si trova nella cartella /[sito (1)] /templates/system Il file ( che è possibile scaricare qui in formato testo ), alla riga 40 inizia il Body del testo. Alla riga 41 inizia l'inclusione del testo dell'articolo che si è deciso di stampare, che a sua volta viene aperto in una finestra popup. Dando un taso invio, dalla riga 41 è possibile inserire il riferimento ad una immagine e/o un formattato HTML della testata del nos