Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    rewrite url - passaggio di variabili con la virgola

    ciao a tutti...

    non riesco proprio a recuperare le info per potere raggiungere questo obiettivo.
    Ho una url di questo tipo:

    index.php?location=milano,roma,torino

    e vorrei che fosse

    /location/milano/roma/torino/

    ma non so proprio che pesci pigliare
    qualcuno mi da un aiutino?

    grazie mille!

  2. #2
    quello che uso di solito è un banalissimo

    RewriteRule ^ location/(.*)/$ index.php?location=$1

    che ovviamente da location/milano,roma,torino

    il problema è che lo split deve avvenire su $1


  3. #3
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Credo che "trafficando" un po con il flag http://httpd.apache.org/docs/2.4/rew...gs.html#flag_n si potrebbe anche riuscire, ma perché?
    Cioè, perché non fai lo split direttamente lato applicazione?

  4. #4
    Ciao Enoa e grazie per l'assistenza

    Faccio un pò fatica a leggere le info dal tuo link, ma ora sono un pò fuso, ci riprovo domani.

    Invece cosa intendi fare lo split lato applicazione?
    Intendi non usare i rewrite e generare la query recuperando le variabili da

    location/roma/milano/brindisi/x/y/N°/

    potrebbe essere un'idea.
    Recupero questa parte della URL, la splitto in un array usando come divisori le /, elimino l'elemento location e il gioco dovrebbe essere fatto... giusto? Intendevi questo?

    grazie ancora

  5. #5
    Utente di HTML.it L'avatar di Enoa
    Registrato dal
    Jul 2005
    Messaggi
    573
    Originariamente inviato da zoc
    Recupero questa parte della URL, la splitto in un array usando come divisori le /, elimino l'elemento location e il gioco dovrebbe essere fatto... giusto? Intendevi questo?
    Si, in pratica qualcosa del genere:
    codice:
    RewriteRule location/(.*) index.php?location=$1 [L]
    
    ....
    //index.php
    
    $location = (isset($_GET['location'])) ? explode('/',$_GET['location']) : array();
    altrimenti, puoi provare mandando la richiesta "in loop controllato" (da testare):
    codice:
    RewriteEngine On
    RewriteRule location/([a-zA-Z0-9\-_,]*)(/+)([a-zA-Z0-9\-_/]+)/ location/$1,$3/ [L]
    RewriteRule location\/([a-zA-Z0-9,\-_]+)/$ index.php?location=$1 [L]
    per un url del tipo: location/Milano2/Siena/Ro_ma/Ge-nova/Venezia/2/4/
    restituisce $_GET['location']=Milano2,Siena,Ro_ma,Ge-nova,Venezia,2,4
    ma:
    - l'explode/split(split è deprecata)/parsing lo devi fare lo stesso
    - non so se può dar fastidio ad altre regole

  6. #6
    grazie mille per l'aiuto... gentilissimo.
    ora vedo che cosa ne riesco a fare

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.