• User Newbie

    creazione sottodomini automatici

    Salve a tutti, sono un neofita del forum.
    Sto gestendo il mio primo server, vorrei avere la possibilità di creare sottodomini automaticamente. Ovvero che qualsiasi richiesta cartella1.sito.it venga applicata a /var/ww w/sito.it/cartella1/
    Per fare questo tramite la gestione DNS del dominio sito.it ho fatto un recond con wildcard. Ora infatti qualsiasi link *.sito.it (dove * è riferito a qualsiasi insieme di caratteri alfanumerici e/o trattini) porta a w w w.sito.it
    Ho letto che ci sono 2 modi per creare sottodomini:
    Virtual Hosts e .htaccess
    ho notato però che con i virtual host bisogna aspettare la propagazione del DNS mentre con .htaccess il sottodominio viene creato istantaneamente.
    Ho spulciato in rete ed ho trovato molti codici per fare i sottodomini in htaccess ma nessuno riusciva a fare quello che volevo io.
    Con un taglia/incolla + intuito e varie guide for dummies sono riuscito a fare questo:

       RewriteEngine On
       Options +FollowSymlinks
       RewriteCond %{HTTP_HOST} !www .(www .)?([a-z0-9-]+).(www .)?([a-z0-9-]+)$ 
       RewriteCond %{HTTP_HOST} ^(www .)?([a-z0-9-]+).(www .)?([a-z0-9-]+).(www .)?([a-z0-9-]+) 
       RewriteCond %{REQUEST_URI} !(www .)?([a-z0-9-]+)/ 
       RewriteRule (.*) %2/$1 
    ```In pratica ora qualsiasi richiesta cartella1.sito.it la va a prendere dalla cartella sotto DocumentRoot/cartella1
    il problema è che ho installato Joomla su cartella1 e la situazione è questa:
    
    cartella1.sito.it porta effettivamente al sottodominio, ma tutti i link sono diventati cartella1.sito.it/cartella1/index.php? etc
    insomma mi trovo con un cartella1 di troppo.
    Qualcuno che ha più esperienza di me (ho iniziato stamattina con .htaccess) potrebbe aiutartmi? 
    Se non mi sono spiegato bene mi spiace essendo la prima volta che chiedo supporto non saprei che altro aggiungere. Chiedete e se ne sono in grado cercherò di rispondervi.
    Grazie in anticipo!
    www . è perchè non mi fa inserire il post :S

  • Super User

    Ciao lujia,

    potresti creare una regola del genere:

    RewriteEngine On
    Options +FollowSymlinks

    RewriteCond %{REQUEST_URI} ^/[^.]+[^/]$
    RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1/ [R=301,L]

    RewriteCond %{HTTP_HOST} !^www.
    RewriteCond %{HTTP_HOST} ^([^.]+).dominio.estensione
    RewriteCond $1 !^cartella
    RewriteRule (.*) /%1/$1

    Unico problema è che eventuali pagine chiamate cartella non funzioneranno


  • User Newbie

    Grazie della risposta,
    a me interesserebbe uno script universale. Ovvero, se creo un nuovo sottodominio non devo andare ad aggiungere una nuova riga nell' .htaccess. E anche se non comprendo il tuo codice solo vedere !^cartella posso dedurre che varrà per quel sottodominio soltanto.
    Se sbaglio corregimi pure

    EDIT:
    Ho provato il codice che mi hai postato, in pratica fa lo stesso lavoro del mio ovvero se vado su sottodominio.dominio.ext va tutto bene, ma i link di joomla sono sballati, ovvero le richieste diventano sottodominio.dominio.ext/sottodominio/pagina.php
    Non so se posso però vi lascio il link del dominio che sto usando come test:

    www .fnanna.com

    e il sottodominio:

    arandom.fnanna.com

    Se provato le voci del menu di arandom noterete la sintassi sopra descritta
    Se sto violando qualche regola postando il link scrivetemelo e lo rimuoverò oppure un MOD lo editi,
    Grazie


  • Super User

    se navighi in sottodominio.dominio.ext/pagina.php forzando l'url dal browser questo funziona correttamente?

    se si secondo me c'è qualcosa da settare in joomla per dire che tutti gli url devono avere come base sottodominio.dominio.ext e non sottodominio.dominio.ext/sottodominio/

    non conoscendo però joomla non ti saprei dire dove controllare 😞


  • User Newbie

    ho creato una pagina ciao.html
    in pratica posso accervi sia con arandom.fnanna.com/ciao.html che con *.fnanna.com/arandom/ciao.html dove * è qualsiasi parola