Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: rewrite con htaccess

  1. #1

    rewrite con htaccess

    sto cercando un po di capire come utilizzare i file htaccess solo che ho tanta confusione in testa con i vari esempi che ho trovato in rete.

    nel mio caso ho domini diversi (o sottodomini) che puntano sulla stessa directory.
    mi servirebbe che in base al dominio venga aggiunta una variabile nella querystring

    per esempio se ho:
    abc.it/directory deve tradurlo in abc.it/directory?x=1

    e nel caso

    abc.com/directory deve tradurlo in abc.com/directory?x=2

    non so se sono stato chiaro,
    grazie.

  2. #2
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    intendi qualcosa del genere?

    codice:
    RewriteEngine On
    RewriteRule . index.php?host=%{HTTP_HOST} [L]

  3. #3
    Non capisco cosa fa il tuo codice e come può servirmi, non mi sembra faccia quello che ho chiesto...

  4. #4
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Originariamente inviato da caos87
    Non capisco cosa fa il tuo codice e come può servirmi, non mi sembra faccia quello che ho chiesto...
    lo hai testato?
    hai provato a recuperare la variabile $_GET['host'] ?

  5. #5
    si l'ho provato ma non ha fatto nulla.

    io sto facendo una cosa del genere:

    RewriteCond %{HTTP_HOST} ^.miosito1\.net/cartella [NC]
    RewriteRule (.*/cartella) http://%{HTTP_HOST}/cartella/?x=1&$1 [R=permanent,L]

    RewriteCond %{HTTP_HOST} ^.miosito2\.net/cartella [NC]
    RewriteRule (.*/cartella) http://%{HTTP_HOST}/cartella/?x=2&$1 [R=permanent,L]

    ora ti è piu chiaro cosa sto cercando di fare? devo mettere una variabile diversa in base al dominio!
    quello che non ho capito è il parametro $1
    a che serve?

    grazie

  6. #6
    Originariamente inviato da caos87
    si l'ho provato ma non ha fatto nulla. nel tuo esempio passi il dominio come valore nella querystring ma non mi server fare questo! voglio mettere una variabile diversa in base al dominio.

    io sto facendo una cosa del genere:

    RewriteCond %{HTTP_HOST} ^.miosito1\.net/cartella [NC]
    RewriteRule (.*/cartella) http://%{HTTP_HOST}/cartella/?x=1&$1 [R=permanent,L]

    RewriteCond %{HTTP_HOST} ^.miosito2\.net/cartella [NC]
    RewriteRule (.*/cartella) http://%{HTTP_HOST}/cartella/?x=2&$1 [R=permanent,L]

    ora ti è piu chiaro cosa sto cercando di fare? devo mettere una variabile diversa in base al dominio!
    quello che non ho capito è il parametro $1
    a che serve?

    grazie

  7. #7
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Ok, il problema a questo punto è capire cosa vuoi ottenere.
    do per scontato che tu stia utilizzando php,non lo hai specificato.
    ti suggerisco di stampare il contenuto dell'array $_SERVER
    codice:
    <?php
    var_dump($_SERVER);
    ?>
    con particolare attenzione al valore di
    codice:
    <?php
    var_dump($_SERVER['HTTP_HOST']);
    ?>
    con il codice:
    codice:
    RewriteCond %{HTTP_HOST} ^.miosito1\.net/cartella [NC]
    RewriteRule (.*/cartella) http://%{HTTP_HOST}/cartella/?x=1&$1 [R=permanent,L]
    controlli sel'host è mioristo1.net/cartella < sempre falso immagino e per "fortuna"
    con la rewrite rule appendi la variabile x=1 se il dominio è miosito1 e fai il redirect permanent
    il $1 è il match dell'espressione regolare

    tutto questo per ottenere quell'x=1?
    ti consiglio di controllare $_SERVER['HTTP_HOST'], in base al suo valore ti comporti di conseguenza: invece di $x==1 dovrai controllare $_SERVER['HTTP_HOST']=='miosito1.net':
    Codice PHP:
    <?php
    switch($_SERVER['HTTP_HOST']){
    case 
    'miosito1.net':
    $x=1;
    break;
    case 
    'miosito2.net':
    $x=2;
    }
    echo 
    $x;
    ?>
    se invece vuoi usare per forza, ma te lo sconsiglio nel caso specifico, le rewrite rule, dai un'occhiata al manuale di apache per il mod_rewrite:
    http://httpd.apache.org/docs/current...d_rewrite.html
    http://httpd.apache.org/docs/2.2/rew...ite_guide.html
    http://httpd.apache.org/docs/2.2/rew..._advanced.html

  8. #8
    non posso usare il php perchè sto usando un forum e non so dove toccare il codice da modificare dato che è complesso.
    Il problema è appendere quella variabile semplicemente alla home page in base al dominio solo che sicuramente ho scritto male l'htaccess e non capisco bene la sintassi

  9. #9
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Originariamente inviato da caos87
    non posso usare il php perchè sto usando un forum e non so dove toccare il codice da modificare dato che è complesso.
    Il problema è appendere quella variabile semplicemente alla home page in base al dominio solo che sicuramente ho scritto male l'htaccess e non capisco bene la sintassi
    Continuo a non capire a cosa ti serva appendere la variabile se poi non la usi nel codice, ma va bhè!
    Ma la vuoi per forza numerica?
    Prova così
    codice:
    RewriteCond %{HTTP_HOST} ^sito1.com
    RewriteCond %{QUERY_STRING} !^x= [NC]
    RewriteRule (.*) http://sito1.com/$1?x=1 [R=301,QSA,L]
    
    RewriteCond %{HTTP_HOST} ^sito2.com
    RewriteCond %{QUERY_STRING} !^x= [NC]
    RewriteRule (.*) http://sito2.com/$1?x=2 [R=301,QSA,L]

  10. #10
    in realtà il forum usa una variabile c che se passata nell'url filtra la visualizzazione di una determinata categoria quindi il mio obiettivo è visualizzare determinate categorie in base al dominio. ora il codice che mi hai scritto è corretto ma mi servirebbe anche considerare la cartella del forum e non la root solo che se scrivo:

    RewriteRule (.*) http://miosito1.com/forum/$1?x=1 [R=301,QSA,L]

    sicuramente (.*) si riferisce alla root ed è per questo che non funziona cosi giusto?
    e vorrei anche aggiungere il supporto dei sottodomini, grazie per la pazienza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.