.htaccess non funzionante correttamente.
Originariamente Scritto da
FedericoBiccheddu
La domanda mi sorge spontanea: com'è possibile che in locale, in altri spazi web (precisamente 3 tutti differenti) e nel tuo funzioni, mentre SOLO su OVH, precisamente nell'account idea2web, non funzioni?
Non riesco a capire questo...
Il test che ho postato è eseguito sull'hosting Ovh.
Ti invito a contattarmi presso il supporto per cercare più rapidamente una soluzione al tuo problema, grazie
FedericoBiccheddu
01.06.2012, 15.38
La domanda mi sorge spontanea: com'è possibile che in locale, in altri spazi web (precisamente 3 tutti differenti) e nel tuo funzioni, mentre SOLO su OVH, precisamente nell'account idea2web, non funzioni?
Non riesco a capire questo...
Originariamente Scritto da
FedericoBiccheddu
Non riesco a capire...
Nell'indirizzo non si parla di default, ma viene presa la struttura reale del sito, cioè quella che lei dice, solo nello script PHP. Lei conosce la struttura perché ha visto l'hosting ed i file, ma altrimenti "default" non viene menzionato e NON deve essere utilizzato.
Sto usando il Rewrite ed uno Script PHP proprio per nascondere e non utilizzare la reale struttura direttamente con l'URL.
Non so, secondo me stiamo andando un po' fuori tema.
A mio parere il problema sta nell'hosting, perché la regola dell'htaccess è giusta e lo script PHP stampa proprio l'errore: /combocutfilm/image.php/theme/logo.png?
Fa il rewrite SOLO di image/ trasformandolo in image.php, ma del resto no. Il problema è qui e di conseguenza lo script PHP non procede come dovrebbe.
Scusate se insisto, ma ripeto: il problema si presenta SOLO qui e su Idea2web, perché infatti nell'esempio da lei postato funziona correttamente.
Ho postato la struttura solo per essere preciso nel darti indicazioni, questo non vuol dire che debba essere resa visibile
Inoltre ho testato il tipo di rewrite che intendi applicare e funziona correttamente, quindi il problema è da risolversi adattando la struttura oppure la regola di rewrite
FedericoBiccheddu
01.06.2012, 14.23
Non riesco a capire...
Nell'indirizzo non si parla di default, ma viene presa la struttura reale del sito, cioè quella che lei dice, solo nello script PHP. Lei conosce la struttura perché ha visto l'hosting ed i file, ma altrimenti "default" non viene menzionato e NON deve essere utilizzato.
Sto usando il Rewrite ed uno Script PHP proprio per nascondere e non utilizzare la reale struttura direttamente con l'URL.
Non so, secondo me stiamo andando un po' fuori tema.
A mio parere il problema sta nell'hosting, perché la regola dell'htaccess è giusta e lo script PHP stampa proprio l'errore: /combocutfilm/image.php/theme/logo.png?
Fa il rewrite SOLO di image/ trasformandolo in image.php, ma del resto no. Il problema è qui e di conseguenza lo script PHP non procede come dovrebbe.
Scusate se insisto, ma ripeto: il problema si presenta SOLO qui e su Idea2web, perché infatti nell'esempio da lei postato funziona correttamente.
Originariamente Scritto da
FedericoBiccheddu
...
Non so più dove sbattere la testa...
Se devi mantenere la stringa da te postata in precedenza:
Devi modificare la struttura attuale delle dir :
../combocutfilm/theme/default/image/
in questo modo :
../combocutfilm/image/theme/default/image/
Altrimenti modifica la rewrite attuale sostituendo ^image con ^theme
FedericoBiccheddu
01.06.2012, 12.19
Copia ed incolla del suo codice:
http://www.idea2web.net/combocutfilm...theme/logo.png
Codice:
Notice Undefined index: path in /homez.501/ideaweb/www/combocutfilm/image.php: 7.
Notice Undefined index: file in /homez.501/ideaweb/www/combocutfilm/image.php: 8.
Notice Undefined index: ext in /homez.501/ideaweb/www/combocutfilm/image.php: 9.
/combocutfilm/image.php/theme/logo.png?
Non so più dove sbattere la testa...
Originariamente Scritto da
FedericoBiccheddu
È questo il problema: non vengono passati i parametri, infatti il primo errore dice che $file non esisteva proprio perché risiede dentro un switch che si appoggia a $path (path della query string) e che, appunto, non viene valorizzata!
...
test eseguito con queste modalità :
/combocutfilm/ (.htaccess & image.php) /image/test.png
.htaccess in uso:
Codice:
RewriteRule ^image/([a-z]+)/([a-z0-9]+)\.(gif|png|jp(e)?g)$ image.php?path=$1&file=$2&ext=$3 [L,NC]
image.php in uso:
Codice:
" ;
die($_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING']);
?>
link :
http://andrea.tuttipazziperilsincron...test/prova.png
Spero di esserti stato di aiuto, se hai dubbi contattami pure presso il supporto
Originariamente Scritto da
FedericoBiccheddu
..
Se ha un consiglio su come muovermi, ne sarei grato dato che ho provato ciò che è di mia conoscenza per cercare di risolvere.
Provo a riprodurre il problema su un hosting di test
FedericoBiccheddu
31.05.2012, 17.15
È questo il problema: non vengono passati i parametri, infatti il primo errore dice che $file non esisteva proprio perché risiede dentro un switch che si appoggia a $path (path della query string) e che, appunto, non viene valorizzata!
Se lei prende l'altro url /combocutfilm/image.php?path=theme&file=logo&ext=png si vede correttamente l'immagine (attualmente no perché stampo delle variabili).
Se la rewrite rule fosse elaborata correttamente, con il PHP_SELF e query string, dovrebbe stamparmi: /combocutfilm/image.php?path=theme&file=logo&ext=png
Mi chiedo: come sia possibile che non funzioni solo qui? Se fosse un problema di regole o script PHP, mi darebbe problemi anche in altri hosting, giusto?
Se ha un consiglio su come muovermi, ne sarei grato dato che ho provato ciò che è di mia conoscenza per cercare di risolvere.
Originariamente Scritto da
FedericoBiccheddu
Ho caricato il file che stampa PHP_SELF e la query string. Può controllare lei stesso all'indirizzo postato prima, cioè: http://www.idea2web.net/combocutfilm...theme/logo.png
Il server elabora la richiesta restituendo: /combocutfilm/image.php/theme/logo.png?
Ho provato a semplificare la regola togliendo i caratteri speciali, ma il problema continua a manifestarsi.
In locale ed in altri spazi web funziona, mentre qui no. Non riesco a capire proprio da che cosa dipenda e come risolvere.
Ancora grazie per il supporto che mi sta dando.
I caratteri speciali non sono il problema, la rewrite è scritta in modo corretto.
PHP_SELF non è la soluzione di debug corretta.
Devi stampare il valore degli argomenti passati dalla rewrite rule per capire dove risiede l'errore
FedericoBiccheddu
31.05.2012, 15.45
Ho caricato il file che stampa PHP_SELF e la query string. Può controllare lei stesso all'indirizzo postato prima, cioè:
http://www.idea2web.net/combocutfilm...theme/logo.png
Il server elabora la richiesta restituendo:
/combocutfilm/image.php/theme/logo.png?
Ho provato a semplificare la regola togliendo i caratteri speciali, ma il problema continua a manifestarsi.
In locale ed in altri spazi web funziona, mentre qui no. Non riesco a capire proprio da che cosa dipenda e come risolvere.
Ancora grazie per il supporto che mi sta dando.
Originariamente Scritto da
FedericoBiccheddu
Il rewrite è correttamente preso in carico, quindi è necessario eseguire un debug a partire dall'errore generato :
Codice:
Notice Undefined variable: file in /homez.501/ideaweb/www/combocutfilm/image.php: 33.
Analizzando la stringa restituita dalla rewrite
FedericoBiccheddu
30.05.2012, 16.22
Non saprei cos'altro aggiungere.
Come detto, le prime due regole funziona, la seconda no. Non vengono passati i parametri al file image.php, mentre se richiamo quest'ultimo e passo i valori, lo script funziona correttamente.
Questo è l'URL:
http://www.idea2web.net/combocutfilm...theme/logo.png
Se richiamato senza mod_rewrite, cioè
http://www.idea2web.net/combocutfilm...e=logo&ext=png viene visualizzata correttamente.
Questo problema si applica solo su quest'hosting, come già scritto, quindi non riesco a pensare ad una possibile soluzione.
Quale potrebbe essere la causa?
Saluti.
Originariamente Scritto da
FedericoBiccheddu
Ecco il codice:
...
Le prime 2 regole funziona benissimo, mentre la terza non passa correttamente i valori!
Codice:
RewriteRule ^image/([a-z]+)/([a-z0-9\-_\.\+/]+)\.(gif|png|jp(e)?g)$
è corretta.
Posta una stringa di esempio che non viene matchata correttamente.
Più dati fornisci più è facile aiutarti
FedericoBiccheddu
30.05.2012, 13.45
Ecco il codice:
Codice:
AddDefaultCharset UTF-8
#
#RewriteRule ^.$ index.php?/$1 [L]
#
RewriteEngine on
RewriteRule ^style/([a-z0-9\-_]+)\.css$ css.php?data=$1 [L,NC]
RewriteRule ^script/([a-z0-9\-_]+)\.js$ js.php?data=$1 [L,NC]
RewriteRule ^image/([a-z]+)/([a-z0-9\-_\.\+/]+)\.(gif|png|jp(e)?g)$ image.php?path=$1&file=$2&ext=$3 [L,NC]
Le prime 2 regole funziona benissimo, mentre la terza non passa correttamente i valori!
Il file in questione si trova in una cartella, no nella root.
Grazie ancora.
Originariamente Scritto da
FedericoBiccheddu
Buona sera.
Come da titolo, un problema che non mi permette di continuare un lavoro.
Le regole htaccess non funzionano nonostante utilizzi il RewriteBase e non. In locale va perfettamente, in altri hosting pure, ma su OVH no...
Ho provato a richiamare il file php con la query string e funziona correttamente quindi escludo un noin funzionamento del file PHP.
Il bello è che le altre regole funzionano, ma mi si presenta solo con l'ultima.
Da che cosa potrebbe dipendere?
Grazie in anticipo.
Posta il contenuto del file htaccess oppure inoltra sua copia al supporto per avere maggiori informazioni, grazie
FedericoBiccheddu
30.05.2012, 00.53
Buona sera.
Come da titolo, un problema che non mi permette di continuare un lavoro.
Le regole htaccess non funzionano nonostante utilizzi il RewriteBase e non. In locale va perfettamente, in altri hosting pure, ma su OVH no...
Ho provato a richiamare il file php con la query string e funziona correttamente quindi escludo un noin funzionamento del file PHP.
Il bello è che le altre regole funzionano, ma mi si presenta solo con l'ultima.
Da che cosa potrebbe dipendere?
Grazie in anticipo.