Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18
  1. #1
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854

    Come associare htaccess a PHP

    Salve utenti,
    avrei bisogno del vostro prezioso consiglio.

    Ho realizzato un file multilingua ove nell'index ho scritto:
    Codice PHP:
    //SETTAGGIO DELLA LINGUA
    if(isset($_GET['lang'])){
        
    $lang $_GET['lang'];
    } else {
        
    $lang 'it';

    di conseguenza gli url hanno il formato:
    Codice PHP:
    index.php?lang=it&page=2&id=
    Se volessi scrivere il file .htaccess come dovrei?
    Cioè visto che in lang posso avere sia it, en, fr, ecc....come posso fare per aver un url diverso per la stessa pagina?

    Se ho:
    codice:
    RewriteEngine on
    RewriteRule ^appartamento-centro-storico-firenze.html$    index.php?lang=it&page=2&id=1 [L]
    RewriteRule ^apartment-center-florence.html$    index.php?lang=en&page=2&id=1 [L]
    Successivamente passo l'url nel link nella pagina php e via...ma in questo caso come dovrei fare?! Visto che ho nella stessa pagina diversi link per ciascuna link.

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    non so se ti capisco... ma secondo me nel rewrite degli url devi astrarti dai nomi significativi che dai alle pagine, quello che per te conta sono i parametri, cioè nel tuo caso $lang, $page e $id. Ma le regole dovranno essere genriche, in quanto mi sembra di capire usi un sistema CMS e quindi non credo puoi star lì a modificare l'htaccess ogni qual volta aggiungi una nuova pagina.

    Cioè dovrai per esempio prendere in input un url di questo tipo

    /it/2/1/appartamento-centro-storico-firenze.html

    e mapparlo sullo script reale

    index.php?lang=it&page=2&id=1

    Nell'htaccess non ti compare però /it/2/1/appartamento-centro-storico-firenze.html, userai dei segnaposto (caratteri jolly, asterischi ecc) in modo tale che fai un'unica regola che va bene sempre. Spero di essermi spiegato.ciao
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  3. #3
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Certo, sei stato chiarissimo, per il mio problema è che se io ho:

    codice:
    index.php?lang=it&page=2&id=1
    vorrei codificarlo come:
    /it/2/1/appartamento-centro-storico-firenze.html

    se invece ho:

    codice:
    index.php?lang=en&page=2&id=1
    vorrei codificarlo come:
    /it/2/1/apartment-center-florence.html

    Nel file .htaccess non ci sono problemi, ma lato php come gestisco questa cosa?

  4. #4
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    Come ho già detto, un url così

    codice:
    index.php?lang=en&page=2&id=1
    non lo codifichi così

    codice:
    /it/2/1/apartment-center-florence.html
    bensì così

    codice:
    /en/2/1/apartment-center-florence.html
    Cioè la tripla en + 2 + 1 ti identifica univocamente l'url, anche se ci scrivi

    codice:
    /en/2/1/pinco-pallino.html
    ti troveria sempre lo stesso script php identificato dai 3 parametri en + 2 + 1
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  5. #5
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Ho provato, ma trovo un problema non irrilevante, se scrivo l'url come:
    codice:
    it/appartamenti-centro-storico-firenze.html
    praticamente la index.php mi va a cercare foglio di stile, immagini e quant'altro nella directory it/ oppure en/ ecc....

    Come posso risolvere?

    Grazie.

  6. #6
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    Devi usare indirizzi assoluti anche per css, js e img
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  7. #7
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Quindi impostando il tutto a: www.nomedominio.it/style.css?!

  8. #8
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    sì, con l'http davanti
    Gli uomini si dividono in due categorie: i geni e quelli che dicono di esserlo. Io sono un genio.

  9. #9
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Perfetto! Adesso il sito prende forma!

    Come faccio a convertire il seguente codice:
    Codice PHP:
    <?php require dirname __FILE__ ) . "/php-captcha.inc.php"?>
    con url assoluto?!?

    Ho provato con:
    Codice PHP:
    <?php require $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF'])."/php-captcha.inc.php"?>
    Ma mi da il seguente errore:
    Warning: include(127.0.0.1:8080/www.nomesito.com/php-captcha.inc.php) [function.include]: failed to open stream: Invalid argument in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\www.nomesito.com\index.php on line 39

    Warning: include() [function.include]: Failed opening '127.0.0.1:8080/www.nomesito.com/php-captcha.inc.php' for inclusion (include_path='.;C:\php\pear') in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\www.nomesito.com\index.php on line 39

  10. #10
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Marco, ho risolto il problema precedente, quello che si riferisce all'inclusione del file php-captcha.inc.php.

    Ora ho un altro problemino:
    come faccio a gestire l'associazione degli url friendly nel menù?
    Visto che ho solo una index, come faccio ad associare ogni url friendly corretto a seconda della lingua scelta?

    Ho provato con una funzione del tipo:
    Codice PHP:
    "<?php echo scrivi_url($lang,0); ?>
    dove gli passo la lingua settata e 0 in questo caso è la pagina!

    E come funzione ho messo:
    Codice PHP:
    <?php
    function scrivi_url($lang,$page){ 
        if(isset(
    $_GET['lang'])){ $lang='/'; } else { $lang=$_GET['lang'].'/'; }
        
    //PAGE 0
        
    if($lang=='it' and $page==0){ $url_1 $lang.'appartamenti-centro-storico-firenze.html'; }
        

        
    //PAGE 5
        
    if($lang=='it' and $page==5){ $url_1 $lang.'casa-vacanze-centro-storico-firenze.html'; }
        
        
    //PAGE 7
        
    if($lang=='it' and $page==7){ $url_1 $lang.'prenota-vacanza-firenze-low-cost.html'; }            
        
        echo 
    $url_1;
        
        return 
    $url_1;
    }
    ?>
    Ma il tutto salta se entro nel sito per la prima volta e non ho una pagina settata!

    Grazie.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.