• User Attivo

    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.


  • Super User

    ciao kru 🙂

    come mai stai usando il RewriteBase? hai il problema dell'errore 500 ?


  • User Attivo

    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...


  • Super User

    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 😉


  • User Attivo

    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?


  • User Attivo

    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.

    :ciauz: