- Home
- Categorie
- La Community Connect.gt
- News Ufficiali da Connect.gt
- url_rewrite su cartella
-
url_rewrite su cartella
Ciao, ragazzi.
Ho un piccolo problema con il mod_rewrite. Spiego.
Sto realizzando una nuova sezione del sito, posta in una cartella (reale, non creata con mod_rewrite) che chiamo "cartella". Questa, quindi, avrà un percorso come:
http / dominio/cartella/In questa ho inserito il file .htaccess, che abbreviando, contiene:
RewriteBase /cartella/ RewriteRule ^([a-z0-9|\-/|_]+)-ele([0-9]+)\.html$ ele_prod.php?cid=$2&tagurl=$1 [L,QSA]
In questa cartella è anche contenuta la pagina **ele_prod . php **che viene riscritta.
All'inizio, vi è il collegamento con il database, effettuato con:include("../admin/db_config/config.php"); session_start(); $sid = session_id();
Infine, naturalmente, nella stessa cartella ho anche la index . php di sezione, che contiene i link per aprire la pagina ele_prod . php
Ora viene il problema: il redirect funziona perfettamente, solo che la pagina che si apre non visualizza gli articoli che dovrebbe contenere! E' come se il DB non contenesse dati relativi all'id richiamato.
Di questo sono certo, perchè ho fatto un tentativo, semplicemente sostituendo sull'htaccess RewriteBase /cartella/ con RewriteBase / e la pagina visualizza il corretto contenuto.
In questo caso, naturalmente, viene aperta la pagina ele_prod . php contenuta nella root, ma con l'id e gli articoli giusti.Riuscite a capire dove sta il problema?
Grazie.
-
ciao kru
come mai stai usando il RewriteBase? hai il problema dell'errore 500 ?
-
Ciao, osvi, e grazie per avermi risposto.
A dire il vero, no... semplicemente pensavo fosse necessario, per il rewrite da cartella...
In effetti però ho appena provato a toglierlo, e non lo è, visto che la pagina viene caricata ugualmente.
Però ancora non vengono visualizzati i dati del DB...
-
l'ho provata come l'hai postata e a me funziona
fammi sapere se l'altro argomento ($2) viene passato correttamente e cerchiamo il problema
-
Si, infatti hai ragione...
Funziona tutto correttamente, anche senza i, Rewritebase.
Il problema lo causava un file mancante richiamato sulla pagina con una funzione include().
Adesso, però, ho trovato un altro problema, sulla pagina successiva a quella.
Si trova sempre nella stessa cartella, ma ha un url riscritto del tipo:cartella / altra-cartella / nomefile . html
In questo caso, però, la cartella "altra" non è fisica, ma generata dal rewrite.
Il problema sorge su un'istruzione javascript presente in questa pagina, che è:<A HREF="Javascript:document.form_cart.submit()"> </a>
Il problema è che cliccando sul link, la pagina viene rimandata all'url:
cartella / cartella / altra-cartella / nomefile . html
che naturalmente non esiste! E' possibile correggere questo problema?
-
Come non detto....
ho risolto. Non era lo script a generare l'errore, ma la form cher lo conteneva.Credo proprio di aver bisogno di un pò di riposo... :bho:
Grazie per l'aiuto e la disponibilità, osvi.