Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443

    url rewriting non passa tutte le variabili

    Vorrei gestire un url rewriting con 6 variabili, ma mod_rewrite mi passa correttamente solo le prime 4

    file .htaccess

    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    <Files ~ "index">
    ForceType application/x-httpd-php
    </Files>

    #6 variabili
    RewriteRule ^index/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/$ /index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12 [L]
    Chiamando lo script index.php con le relative variabili

    l'output nel file /index.php è il seguente:

    var1 = valore1
    var2 = valore2
    var3 = valore3
    var4 = valore4
    var5 = var10
    var11 = var12
    file /index.php
    Codice PHP:
    foreach($_GET as $key=>$value)
    print 
    $key " = " $value "
    "

    Qulche idea come mai il mod_rewrite mi gestisce correttamente solo le prime 4 variabili ?

    Grazie

  2. #2
    le variabili sono lunghe? come sai l'url ha un limite di 255 caratteri circa o_O

  3. #3
    Originariamente inviato da goikiu
    le variabili sono lunghe? come sai l'url ha un limite di 255 caratteri circa o_O
    questo non è vero;
    RFC2616 (http 1.1) non pone limiti, infatti:
    ...
    The HTTP protocol does not place any a priori limit on the length of a URI.
    ...

    gli unici che pongono limiti sono google (152 c.ca) e ie (qualsiasi versione, 2083 c.ca post, 2050 c.ca get) dal quel che mi ricordo, ma magari negli ultimi due le cose sono cambiate
    Perchè essere stupidi non è una menomazione ma un diritto di tutti!!!

  4. #4
    *fa una ricerca*

    vero, l'informazione in mio possesso probabilmente era molto vecchia.

    Ad ogni modo epescol, hai guardato il sito di apache per informazioni?

  5. #5
    RewriteRule ^index/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/$ /index.php?$1=$2&$3=$4&$5=$6&$7=$8&$9=$10&$11=$12 [L]
    non centra nulla con dalla quarta variabile in poi, ma è possibile che dalla nona in poi non prenda più le variabili ???
    perchè $10 = $1 + 0 ???

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie,

    è proprio qui il il problema ....

    come ovviare ?

    con

    RewriteRule ^index/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/(.*)/$ /index.php?$11=$12&$13=$14&$15=$16&$17=$18&$19=$20& $21=$22 [L]
    non funziona nemmeno

    var11 = var12
    var13 = var14
    var15 = var16
    var17 = var18
    var19 = valore10
    valore11 = valore12
    Grazie

  7. #7
    non so, puoi unire piu variabili con un carattere separatore del quale poi farai explode, es. _ o un carattere che è più adatto al tuo caso...

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.