• User

    Sottodomini, wildcard e dns...

    Salve a tutti,
    vorrei fare in modo che andando in un un qualsiasi "finto sottodominio" del tipo pippo . topolina . com
    il visitatore arrivi su w w w . topolonia . com

    Quindi, in questo caso, "pippo" non è un sottodominio esistente.

    Per fare ciò come prima cosa ho modificato il **DNS **di "topolinia . com", con i wildcard:

    *. topolinia . com. A 62.111.111.111

    Topolinia . com è ospitato su un server virtuale di Aru..a, webserver Apache, assieme ad altri domini:

    quando il visitatore arriva su "pippo . topolinia . com", dopo aver messo i wildcard, non arriva, come mi aspettavo, su w w w . topolinia . com.

    Quindi, con la configurazione attuale, tutto viene ridirezionato su: 62.111.111.111

    ... come posso fare a ridirezionare tutto a w w w. topolinia . com? http.conf? Consigli?

    Un saluto e grazie,
    Davide


  • Moderatore

    devi modificare la configurazione del virtualhost corrispondente inserendo

    
    ServerAlias *.topolina.com
    RedirectMatch 301 (.*) http://www.topolina.com$1
    

  • User

    Ciao,
    ma cambiando la configurazione nel virtualhost, poi devo comunque modificare ogni volta il dns, aggiungendo il wildcard, per ogni dominio? O non serve più con questa modifica?

    grazie,
    davide


  • Moderatore

    il virtualhost è relativo al dominio ovviamente e quindi con quell'impostazione catturi le richieste verso tutti i sottodomini di un certo dominio


  • User

    Chiarissimo
    grazie!
    saluti,
    davide


  • User Attivo

    Ciao, ne approfitto per fare una domanda anche io.
    Il mio provider ha impostato la wildcard per potermi far gestire tutti i sottodomini che voglio. Ora vorrei impostare htaccess in modo che tutte le richieste per cui non esiste un sottodominio vengano indirizzate ad una pagina specifica.
    Es. tutte le richiesto verso X.dominio.it ad eccezione di quelle indirizzate news.dominio.it e ad altri, devono essere dirottate tutte su index.php
    ( che mosterà il contenuto in base all'url richiesto)


  • Moderatore

    Puoi usare

    
    RewriteCond %{HTTP_HOST} .
    RewriteCond %{HTTP_HOST} !^www\.example\.com
    RewriteCond %{HTTP_HOST} !^pippo\.example\.com
    RewriteCond %{HTTP_HOST} !^pluto\.example\.com
    RewriteRule (.*) http://www.example.com/$1 [R=301,L]
    
    

    metti una RewriteCond per ognuno dei sottodomini esistenti ovviamente


  • User Attivo

    Ciao. Io ho utilizzato questa:

    RewriteCond %{HTTP_HOST} ^cardy.dominio.it$
    RewriteCond %{REQUEST_URI} !/cardy/
    RewriteRule ^(.*)$ /cardy/$1 
    

    Con la tua regola, se scrivo un indirizzo che non esiste appartenente al sottodominio, mi va in loop e il browser me lo segnala.
    Naturalmente questa regola è utilizzata anche per gli altri domini... (non utilizzo il ! per escludere i domini)

    Acetto suggerimenti integrazione e quant'altro....;)


  • Moderatore

    Però quella regola dice se il dominio richiesto è cardy.dominio.it e la directory non è /cardy/ allora reindirizza verso /cardy/

    In pratica è un redirect a livello di directory non di sottodomini.


  • User Attivo

    veramente è per impedire l'attivazione della regola se uno digita miodominio . it / cardy


  • Moderatore

    Esatto, se uno nell'url specifica la directory cardy fa tutto normalmente, se invece cardy non c'è redireziona.


  • User

    Ciao,
    sono riuscito a mettere mano, finalmente, a questa parte.

    Ho impostato così il file vhost.conf:

    <VirtualHost 62.124.123.456:80>
    ServerName pippo.net:80
    ServerAlias *.pippo.net
    RedirectMatch 301 (.*) http :// www . pippo . net$1
    </VirtualHost>
    ```Dopo la modifica faccio ripartire apache, ma non succede nulla.
    
    Il sito gira su un server virtuale di Aru..a, insieme ad altri siti.  Nella cartella conf del dominio che mi interessa, ho un httpd.include  che esplicitamente raccomanda di :
    
    # ATTENTION!
    # DO NOT MODIFY THIS FILE OR ANY PART OF IT. THIS CAN RESULT IN IMPROPER  PLESK
    # FUNCTIONING OR FAILURE, CAUSE DAMAGE AND LOSS OF DATA. IF YOU REQUIRE  CUSTOM
    # MODIFICATIONS TO BE APPLIED TO THE CONFIGURATION, PLEASE, PERFORM THEM  IN THE
    # FOLLOWING FILE(S):
    # /var/www/vhosts/pippo . net/conf/vhost.conf
    
    Quindi ho creato il nuovo vhost.conf.
    
    Purtroppo, scrivendo testttt.pippo.net o qualsiasi altra cosa, non  riesco a far reindirizzare la richiesta... suggerimenti?
    
    saluti,
    davide

  • User Attivo

    @DaScoprire said:

    Ciao,
    sono riuscito a mettere mano, finalmente, a questa parte.

    Ho impostato così il file vhost.conf:

    ><VirtualHost 62.124.123.456:80>
    ServerName pippo.net:80
    ServerAlias *.pippo.net
    RedirectMatch 301 (.*) http :// www . pippo . net$1
    </VirtualHost>
    >```Dopo la modifica faccio ripartire apache, ma non succede nulla.
     
    Il sito gira su un server virtuale di Aru..a, insieme ad altri siti. Nella cartella conf del dominio che mi interessa, ho un httpd.include che esplicitamente raccomanda di :
     
    # ATTENTION!
    # DO NOT MODIFY THIS FILE OR ANY PART OF IT. THIS CAN RESULT IN IMPROPER PLESK
    # FUNCTIONING OR FAILURE, CAUSE DAMAGE AND LOSS OF DATA. IF YOU REQUIRE CUSTOM
    # MODIFICATIONS TO BE APPLIED TO THE CONFIGURATION, PLEASE, PERFORM THEM IN THE
    # FOLLOWING FILE(S):
    # /var/www/vhosts/pippo . net/conf/vhost.conf
     
    Quindi ho creato il nuovo vhost.conf.
     
    Purtroppo, scrivendo testttt.pippo.net o qualsiasi altra cosa, non riesco a far reindirizzare la richiesta... suggerimenti?
     
    saluti,
    davide
     
    **Manca uno slash** 
     
    VirtualHost 62.124.123.456:80>
    ServerName pippo.net:80
    ServerAlias *.pippo.net
    RedirectMatch 301 (.*) http :// www . pippo . net**/**$1
     
     
    Io però utlizzerei questo codice:
    

    RewriteCond %{HTTP_HOST} !^www nome dominioit$

    RewriteRule ^(.*)$ mostra.php?id=%{HTTP_HOST}

    Dove mostra.php conterrà la logica per mostrare un contenuto personalizzato a seconda del $_GET[id] passato...:wink3: