Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    Indirizzo di base fisso

    Ho un sito in php in cui il menu e tutto ciò che rimane fisso per ogni pagina è contenuto in un file "home.php".
    A questa pagina passo un paramentro "dest" che indica quale pagina (contenente in pratica il contenuto desiderato) va caricata all'interno di questa struttura fissa.

    I link quindi mi risultano del tipo: http://www.sito.it/home.php?dest=pagina1.htm

    Esiste un modo per far sì che scrivendo il solo nome della pagina desiderata ci venga aggiunto davanti tutto il resto del link?
    In pratica vorrei che se io scrivo
    codice:
    <a href="pagina1.htm">
    questo venga interpretato dal browser come
    codice:
    http://www.sito.it/home.php?dest=pagina1.htm
    Ho provato con
    codice:
    <base href="http://www.sito.it/home.php?dest=">
    ma funziona solo per la parte www.sito.it tralasciando "home.php?dest="

    Mi sapete dire come fare?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Hai provato a concatenare l'indirizzo fisso con la querystring?

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Intendevo una cosa del genere
    Codice PHP:
    $indirizzoFisso "http://www.sito.it/home.php";
    echo 
    $indirizzoFisso;
    echo 
    "
    "
    ;
    $finale "dest=pagina.htm";

    $pagina "<a href = ".$indirizzoFisso."?".$finale.">Vai</a>";
    echo 
    $pagina
    ?>

  4. #4
    Mi puoi spiegare meglio cosa intendi?
    Tieni presente che i link sono presenti sia su pagine PHP che su normali HTML..

  5. #5
    il fatto è che ho appunto pagine PHP e HTML.
    e poi tanto vale che scriva tutto
    codice:
    <a href="home.php?dest=pagina1.htm">

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Sinceramente non mi è molto chiaro ciò che vuoi fare.

    Come avviene il passaggio della destinazione?

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Comunque nessuno ti vieta di cambiare l'estensione delle pagine html in php.

  8. #8
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Puoi anche usare il rewrite engine.
    E' un po' complicato ma se segui quello che scrivo ce la dovresti fare.

    Prerequisiti :
    Nella cartella principale c'è un file chiamato home.php
    c'è anche un file chiamato .htaccess
    la cartella principale è www.sito.it

    Creazione del file .htaccess :
    assumo che tutte le pagine del tuo sito cominciano con la stringa pagina
    il file deve contenere
    codice:
    RewriteEngine on  
    RewriteRule ^pagina(.*)$ home.php?dest=pagina$1 [L]
    RewriteRule ^(.*)$ $1 [L]
    La prima RewriteRule consente di prendere tutti i link che comiciano con "pagina" e di reindirizzare i link alla pagina home.php passando un parametro dest.
    La seconda consente di trattare i link che non cominciano con "pagina".

    Creazione del file : home.php ( per l'esempio )
    Servirà solo a mostrare il funzionamento del rewrite engine
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <? 
    $pagina = $_GET['dest'];
    print $pagina;
     ?>
    </body>
    </html>
    Creazione del file : test.php
    Si assume che i link interni al sito sono della forma "paginaX.html"
    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    Pagina 2
    
    HTML.it
    </body>
    </html>
    Nel file httpd.conf di apache

    togliere il commento della riga
    LoadModule rewrite_module modules/mod_rewrite.so

    Ovviamente bisogna fermare apache prima e poi riavviarlo.

    Il bello è che avrai sempre un indirizzo tipo
    www.mio_sito.it/pagina2.html anche se viene richiamata la pagina home.php

    Questo sito http://www.commune-loyettes.fr funziona come da me indicato. Sembrano pagine html ma infatti richiamano tutte la stessa pagina php.

  9. #9
    Sarebbe un'ottima cosa, purtroppo non ho il controllo del file .htaccess del server.

    Provo comunque a spiegarmi meglio (per nicola75ss): vorrei non dover usare per ogni link all'interno del sito tutta la sintassi
    codice:
    <a href="home.php?dest=pagina1.htm">
    ma solamente
    codice:
    <a href="pagina1.htm">
    Questa però dovrebbe comunque essere trasformata in "home.php?dest=pagina1.htm"

    Praticamente si tratta solo di una comodità (a dir la verità è qualcosa di più, nel sito possono caricare dei file HTML anche altre persone e spesso si dimenticano la parte "home.php?dest=").

    La pagina "home.php" deve comunque essere chiamata perchè è quella che contiene tutta la struttura grafica più i menu.

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Cosa ti fa dire che non hai accesso a htaccess ?

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.