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

    mod_rewrite e require php

    ciao a tutti, ho inziato da poco ad usare il mod-rewrite e questo è il mio file .htaccess:
    codice:
    RewriteEngine On
    RewriteRule ^(.*?).html index.php?vars=$1 [L]
    sostanzialmente interecetto un url di questo tipo:
    http://www.miosito.it/area/sezione.html
    passando "categoria/tipo" alla pagina index e poi esplodendo la variabile.

    Ora ho un problema con una istruzione require() all'interno della pagina index a cui indirizzo le variabili. sostanzialmente esplodendo le due variabili che mando riscrivendo la regola con mod-rewrite.
    Il problema è che se scrivo
    Codice PHP:
    require("$area.php"); 
    tutto va bene e il codice viene eseguito, ma se invece scrivo:
    Codice PHP:
    require("$area.php?cat=$sezione"); 
    il risultato è il seguente:
    codice:
    Warning: require(pagina.php?cat=moderno) [function.require]: failed to open stream: No error in C:\xampp\htdocs\miosito\index.php on line 80
    
    Fatal error: require() [function.require]: Failed opening required 'pagina.php?cat=moderno' (include_path='.;C:\xampp\php\pear\') in C:\xampp\htdocs\miosito\index.php on line 80
    ora non so se il problema sia collegato al mod-rewrite oppure no dato che per esempio anche la root del sito mostra lo stesso errore, anche se in teoria non ci sono regole attive per quell'url.

    dove sbaglio?
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  2. #2
    Per prima cosa, da dove dovrebbe arrivare la variabile $area?

    Poi, ti suggerisco di leggere il manuale ufficiale:

    http://www.php.net/manual/en/languag...bles.scope.php

  3. #3
    Mi rispondo da solo:
    lo script che viene richiamato con include o require non viene processato dal server, altrimenti non potrebbe essere eseguito nella pagina che lo richiama.
    Per lo stesso motivo non ha senso passargli delle variabili poichè quelle definite nella pagina "chiamante" vengono condivise anche da quella "chiamata", anzi passargli delle variabili evidentemente genera un errore dato che si cerca un file che a tutti gli effetti non esiste così come è scritto.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  4. #4
    prova a mettere nel require il full URL.
    del tipo:
    Codice PHP:
    require("http://www.dominio.it/$area.php?cat=$sezione"); 
    ovviamente deve essere attivato allow_url_fopen.

  5. #5
    Originariamente inviato da bionicoz
    prova a mettere nel require il full URL
    E' un suggerimento pessimo...

  6. #6
    Originariamente inviato da filippo.toso
    E' un suggerimento pessimo...
    Per la sicurezza dici? Certo, su questo siamo d'accordo

  7. #7
    Originariamente inviato da bionicoz
    Per la sicurezza dici?
    Sicurezza, performance, overhead e, nel caso specifico, inutilità.

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.