Visualizzazione risultati 1 fino 17 di 17

Discussione: avere gli url sito.com/qualcosa?var=val

  1. #1
    Guest

    Predefinito avere gli url sito.com/qualcosa?var=val

    Salve, è da un po' che mi scervello: come posso avere gli url come quelli di youtube e non solo? Esempio:
    http://it.youtube.com/watch?....

  2. #2
    Guest

    Predefinito

    Codice:
    <a href="yourpage.php?variabile=value">click me</a>
    yourpage.php
    Codice PHP:
    <?php
    if(@$_GET['variabile']) echo $_GET['variabile'];
    else echo
    "Variabile non definita";
    ?>

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

    Predefinito

    Se ciò che vuoi è nascondere l'estensione di un file come fa youtube o qualche altro sito (ad esempio anche google lo fa) bisogna utilizzare il mod_rewrite.

    Se ho capito bene dimmelo così ti posto il codice.
    Apprezzi l'aiuto? Offrimi un caffè!

  4. #4
    Guest

    Predefinito

    Senza dubbio ci vuole htaccess e alcune rewrite rules :)

  5. #5
    Guest

    Predefinito

    Solo se non è il file index. Pechè se il file è index.php puoi anche ometterlo

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

    Predefinito

    Citazione Originalmente inviato da jcdesign Visualizza messaggio
    Solo se non è il file index. Pechè se il file è index.php puoi anche ometterlo
    Tu dici che si può fare anche senza rewrite se è index perchè accade questo:

    http://sito.com/?var=val

    Beh se fosse così basterebbe anche:

    Codice PHP:
    DirectoryIndex index.php nome_file.php
    Dove index.php sarà la vera index, e nome_file.php sarà un index alternativa...
    Apprezzi l'aiuto? Offrimi un caffè!

  7. #7
    Guest

    Predefinito

    Miki92 ha capito bene. Solo il mod_rewrite e in generale l'htaccess non lo conosco, quindi per favore se miki92 può postare il codice mi farebbe un favore

  8. #8
    Guest

    Predefinito

    Ah, non avevo letto bene la richiesta.
    Comunque, http://corz.org/serv/tricks/htaccess2.php
    qui c'è quello che vuoi, cerca 'capturing variables' nella pagina.

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

    Predefinito

    La pagina a cui "vuoi eliminare l'estensione" ha delle variabili stabilite (cioè ad esempio sono solo 2) o possono variare (più di 2, 3 o a seconda di qualche cosa)?

    Vuoi "eliminare l'estensione" ad una sola pagina che ha le variabili o a tutte?
    Apprezzi l'aiuto? Offrimi un caffè!

  10. #10
    Guest

    Predefinito

    Io uso questo per mascherare l'estensione
    Un esempio che uso sull'index(poi te lo modifichi con il file che vuoi):
    Codice:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index$ index.php
    Ultima modifica di nokiagames : 03-01-2009 alle ore 22.43.42

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

    Predefinito

    Citazione Originalmente inviato da nokiagames Visualizza messaggio
    Io uso questo per mascherare l'estensione
    Un esempio che uso sull'index(poi te lo modifichi con il file che vuoi):
    Codice:
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index$ index.php
    Si è giusto...però per fare quello che vuole gabryhacker deve utilizzare uno dei tre seguenti codici:

    Codice PHP:
    RewriteEngine On
    RewriteBase
    /
    RewriteRule ^file_da_nascondere?(.*)=(.*)$ vero_file.php?$1=$2
    Codice PHP:
    RewriteEngine On
    RewriteBase
    /
    RewriteRule ^file_da_nascondere?var=(.*)$ vero_file.php?var=$2
    Codice PHP:
    RewriteEngine On
    RewriteBase
    /
    RewriteRule ^file_da_nascondere$ vero_file.php
    Penso che il terzo codice, basato sul tuo (lo utilizzo anche io in molti altri siti ) sia il migliore...

    Comunque se non sbaglio stiamo errando nel parlare di alcuni siti quale youtube e google perchè, sempre che non stia dicendo una ***, non si trattano di semplici file nascosti ma di una vera e propria serverlet.
    Apprezzi l'aiuto? Offrimi un caffè!

  12. #12
    Guest

    Predefinito

    Userò il terzo codice di miki92. Grazie mille!

  13. #13
    Guest

    Predefinito

    Ragazzi tiro su la discussione perchè mi sorge un problema. So che è vecchiotta, ma non credo serva aprirne un'altra perchè ci sono link interessanti.

    Vorrei fare come fa google/youtube diciamo, percè non so se è possibile perchè dovrei usare nell'url il punto di domanda, che dovrebbe indicare l'inizio della query string.

    vorrei trasformare l'url da così index.php?un=Nome a user?name=Nome

    Vorrei fare un rewrite anche della variabile un passata via Get per evitare di cmodificare il codice php aggiungendo controlli.

    E' possibile fare ciò?

    EDIT: Ho buttato giù una bozza, ma mi restituisce un 404:
    Codice:
    RewriteRule ^user([\?]{1,1})name([\=]{1,1})([^/\.]*)$ ./index.php?un=$1
    Ultima modifica di biccheddu : 16-10-2009 alle ore 13.43.39

  14. #14
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Ma le sai usare le espressioni regolari?
    Non capisco perchè scrivi {1,1}, totalmente inutile.
    Poi non vorrei sbagliare ma non l'uguale non è un carattere speciale.
    Inoltre nel tuo pattern il $1 si riferisce all' "?" e non al "Nome" come dovrebbe essere.
    Prova così:
    Codice:
    RewriteRule ^user\?name=([^/\.]*)$ ./index.php?un=$1
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  15. #15
    Guest

    Predefinito

    L'ho lasciato perchè facevo delle prove e mi sono dimenticato di toglierlo, stavo modificando devi valori.
    Comunque non me la cavo bene con le espressioni regolari.
    Ho provato e non funziona, è stato il primo codice provato, per quello poi ho scritto ([\?]).

  16. #16
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    un paio di parentesi = una variabile:
    Codice:
    RewriteRule ^user([\?]{1,1})name([\=]{1,1})([^/\.]*)$ ./index.php?un=$1
    nel tuo script: ([\?]{1,1}) -> $1 ; ([\=]{1,1}) -> $2 ; ([^/\.]*) -> $3
    Le espressioni regolari sono le stesse sia in PHP, sia in Unix, sia (credo) in altri linguaggi.
    Ultima modifica di ageofempiresgif : 16-10-2009 alle ore 14.32.22
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  17. #17
    Guest

    Predefinito

    Non ci ho pensato, è vero e dire sono le basi del mod_rewrite, non sono attento
    In ogni caso mi restituirebbe un errore, ma non il 404

Regole di scrittura

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