Visualizzazione risultati 1 fino 6 di 6

Discussione: Root directory via htaccess - due domini, due directory + dominio contenitore.

  1. #1
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito Root directory via htaccess - due domini, due directory + dominio contenitore.

    Salve a tutti!
    So che la cosa migliore sarebbe configurare via vhost, ma non ho accesso a questo, quindi spero di riuscire via htaccess.

    Spiego cosa necessito:

    dominio-generale: sito.generale.xx > diirectory root (contenitore per tutti i siti; script statistiche ecc);
    - dominio-1: sito1.it > directory1
    - dominio-2: sito2.it > directory2
    ----
    dunque le richieste a sito.generale.xx/directory* andrebbero rigirate al dominio corretto;
    sito1.it deve vedere solo il contenuto di directory1 (in modo trasparente, senza che sia presente nell'url); e stessa cosa per sito2.it. Il tutto senza che i contenuti possano fondersi tra i due domini, ovviamente!

    Pensate sia possibile?
    Ho cercato online e fatto alcune prove, ma poi, ad esempio, le directory erano come fossero fuse, o altre robe che non mi piacciono.

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,234

    Predefinito

    Per anni ho cercato la risposta a questo dilemma e sono arrivato a questa conclusione:

    Codice PHP:
    RewriteCond %{HTTP_HOST} ^(sito1|sito2)\.sitogenerale\.it
    RewriteCond
    %1 -d
    RewriteRule
    ^(.*)$ %1/$1 [L,QSA]
    Poi per evitare sporcizie a livello di url è necessario inserire all'interno di sito1 e sito2 questo:
    Codice PHP:
    RewriteCond %{HTTP_HOST} !^www\.sito1\.it
    RewriteRule
    ^(.*)$ http://www.sito1.it/$1 [R=301,L]
    Spero che sia ciò che cerchi.
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Grazie miki, ma non ho capito a che mi serve: RewriteCond %{HTTP_HOST} ^(sito1|sito2)\.sitogenerale\.it :\

  4. #4
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,234

    Predefinito

    Praticamente specifica quali sottodomini del sito principale devono essere utilizzati dal successivo rewrite.
    La seconda riga controlla che "sito1" o "sito2" siano effettivamente delle directory e l'ultima è la rewrite vera e proprio.

    E' molto utile nel caso di wildcard dns in modo da non ricevere un 404 chiamando, per esempio, "sito3" che nell'esempio non è in lista.

    Poi può darsi anche che io abbia frainteso ciò di cui hai bisogno.
    Apprezzi l'aiuto? Offrimi un caffè!

  5. #5
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito

    Ok, ma a me non servono come sotto domini... Però faccio delle prove, magari riesco ad usarlo comunque :)
    -
    ... Codice sotto!
    Ultima modifica di darkwolf : 24-06-2015 alle ore 18.52.18

  6. #6
    L'avatar di darkwolf
    darkwolf non è connesso Salvatore Noschese
    Data registrazione
    18-04-2007
    Residenza
    Reggiolo (RE)
    Messaggi
    6,558

    Predefinito Scusatemi, non riesco, tocca chiedere ancora aiuto!

    Htaccess in root:
    Codice PHP:
    RewriteEngine on
    RewriteBase
    /


    #rimuovo eventuali doppi slash dall'url
    RewriteCond %{THE_REQUEST} //
    RewriteRule ^(.*)$ /$1 [L,R=301]

    # in questo caso voglio anche metterci l'account altervista
    RewriteCond %{HTTP_HOST} ^(.)*.sito1.it$ [NC,OR]
    RewriteCond %{HTTP_HOST} ^account.altervista.org$ [NC]
    RewriteCond %{REQUEST_URI} !_sito1/
    RewriteRule (.*) /_sito/$1 [L]

    #qui solo il secondo dominio
    RewriteCond %{HTTP_HOST} ^(.)*.sito2.it$ [NC]
    RewriteCond %{REQUEST_URI} !_sito2/
    RewriteRule (.*) /_sito2/$1 [L]
    Htaccess delle directory interessare per ogni dominio (da replicare anche per _sito2):
    Codice PHP:
    RewriteEngine on
    RewriteBase
    /_sito1

    #fix doppi slash in url
    RewriteCond %{THE_REQUEST} //
    RewriteRule ^(.*)$ /$1 [L,R=301]
    #rimuovi nome directory da url
    RewriteCond %{THE_REQUEST} _sito1/
    RewriteRule ^(.*)$ /$1 [L,R=301]

    #forza solo www
    RewriteCond %{HTTP_HOST} !^www\.sito1\.it
    RewriteRule
    ^(.*)$ http://www.sito1.it/$1 [R=301,L]
    Ultima modifica di darkwolf : 25-06-2015 alle ore 00.20.38 Motivo: Eureka :D

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •