Visualizzazione risultati 1 fino 30 di 30

Discussione: problema con RewriteRule

  1. #1
    Guest

    Predefinito problema con RewriteRule

    salve a tutti mi sta facendo impazzire ho un problema con un RewriteRule:

    Codice:
    RewriteEngine On
    
    RewriteRule ^Contatti$ contacts.php [L]
    RewriteRule ^Chi_Siamo$ aboutus.php [L]
    RewriteRule ^Privacy$ privacy.php [L]
    RewriteRule ^Condizioni_Vendita$ sale.php [L]
    RewriteRule ^Spedizioni$ shipping.php [L]
    RewriteRule ^Registrazione$ registration.php [L]
    RewriteRule ^list/(.*)/(.*)$ list.php?action=$1&cat=$2 [L]
    quello in rosso è quello da problemi e cioè la pagina non visualizza i file css.

  2. #2
    Guest

    Predefinito

    Quando usi la rescrittura, i collegamenti al file .css li devi mettere assoluti, quindi a partire dalla root (/).

    Ad esempio se il file .css si trova dentro la cartella stili che a sua volta si trova nella root, anche se il file .php si trova nella stessa cartella del file css, dovrai puntare a /stili/file.css e non già a file.css.

  3. #3
    Guest

    Predefinito

    quindi se ho capito bene se io ho:
    ../style/file.css

    devo mettere:
    /style/file.css???

    questo vale anche per i file javascript collegati a quella pagina????

  4. #4
    Guest

    Predefinito

    Se style è una cartella che si trova nella root del sito si.

    Stesso discorso anche per i JS.

  5. #5
    Guest

    Predefinito

    Ho provato così:
    <link href="/style/document.css" rel="stylesheet" type="text/css" />
    <link href="/style/form.css" rel="stylesheet" type="text/css" />
    <link href="/style/link.css" rel="stylesheet" type="text/css" />
    <link href="/style/text.css" rel="stylesheet" type="text/css" />
    <link href="/style/tt.css" rel="stylesheet" type="text/css" />

    ecco il risultato:
    http://www.area51tecnologie.it/page/list/magazine/CAT06

  6. #6
    Guest

    Predefinito

    mentre in locale mi fa vedere la pagina ma senza css immagini etc....

  7. #7
    Guest

    Predefinito

    Al link indicato corrisponde un errore 404 - Not Found

  8. #8
    Guest

    Predefinito

    l'errore me lo da in rete mentre in locale non mi vede i css

  9. #9
    Guest

    Predefinito

    ma poi quello che non capisco il perchè nelle altre pagina va tutto bene mentre in questa mi da questo problema.

  10. #10
    Guest

    Predefinito

    Posta la pagina che ti da il problema.

  11. #11
    Guest

    Predefinito

    eccola:
    Codice PHP:
    <?php session_start();

    require_once(
    "../inc/document.php");

    $action=@trim($_REQUEST["action"]);
    $cat=@trim($_REQUEST["cat"]);

    if(@
    trim($_REQUEST["search"])) $cerca=trim($_REQUEST["search"]);

    require_once(
    "../inc/funmenu.php");
    switch(
    $action){
    case
    "magazine" :
    $sql="Where Categoria='$cat'";
    break;
    case
    "news" :
    $sql="";
    break;
    case
    "search" :
    $action="magazine";
    $sql="Where Article Like '%$cerca%' or Description Like '%$cerca%'";
    break;
    }

    @(
    trim($_REQUEST["pg"])=="") ? $page=1 : $page=(int)(trim($_REQUEST["pg"]));
    mysql_select_db($db1,$dbconn) or die (mysql_error()." errore connessione db1");
    $QueryCount=mysql_query("Select Count(IDArticle) from $action $sql") or die (mysql_error()." errore conteggio articoli");
    $totrec=mysql_result($QueryCount,0,0);
    if(
    $totrec>0){
    $recxpage=10;
    $totpage=ceil($totrec / $recxpage);
    $startrec=(int)(($recxpage * $page) - $recxpage);
    }
    ?>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="X-UA-Compatible" charset="IE=9" />
    <meta name="webmaster" content="Comunale Massimiliano" />

    <title>AREA 51 ... <?php echo menu($cat); ?> ...</title>
    <link href="style/document.css" rel="stylesheet" type="text/css" />
    <link href="/style/form.css" rel="stylesheet" type="text/css" />
    <link href="/style/link.css" rel="stylesheet" type="text/css" />
    <link href="/style/text.css" rel="stylesheet" type="text/css" />
    <link href="/style/tt.css" rel="stylesheet" type="text/css" />

    <script type="text/javascript" src="/js/jquery.js"></script>
    <script type="text/javascript" src="/js/document.js"></script>
    <script type="text/javascript" src="/js/shopping.js"></script>
    </head>

    <body>
    <img id="background" src="/images/document/background.jpg" />
    <div id="contentAll"><!-- INIZIO -->



    </body>
    </html>
    <?php mysql_close($dbconn); ?>

  12. #12
    Guest

    Predefinito

    Non intendevo il codice, ma l'indirizzo dove la si può vedere all'opera.

  13. #13
    Guest

    Predefinito

    ok sono arrivato ad un punto ed ho visto dove è il problema:

    Codice:
    RewriteEngine On
    
    RewriteRule ^Contatti$ contacts.php [L]
    RewriteRule ^Chi_Siamo$ aboutus.php [L]
    RewriteRule ^Privacy$ privacy.php [L]
    RewriteRule ^Condizioni_Vendita$ sale.php [L]
    RewriteRule ^Spedizioni$ shipping.php [L]
    RewriteRule ^Registrazione$ registration.php [L]
    RewriteRule ^list/(.*)/(.*)$ list.php?action=$1&cat=$2 [L]
    Così funge solo cera il problema dei file css immagine etc... che non vede

    il problema e che i percorsi dei vari css invece di essere:
    http://localhost/area51/page/../style/document.css

    e così:
    http://localhost/area51/page/list/ma...e/document.css

    è come se si creassero nel collegamento altre 2 ccartelle "list" e "magazine" che naturalmente non esistono.

    Quindi il problema è senza dubbio questa riga:
    RewriteRule ^list/(.*)/(.*)$ list.php?action=$1&cat=$2 [L]

  14. #14
    Guest

    Predefinito

    Citazione Originalmente inviato da provalavori Visualizza messaggio
    Così funge solo cera il problema dei file css immagine etc... che non vede

    il problema e che i percorsi dei vari css invece di essere:
    http://localhost/area51/style/document.css

    e così:
    http://localhost/area51/page/list/style/document.css
    E certo che non li vede.
    Devi mettere il path assoluo rispetto al sito, non rispetto al tuo computer (localhost).

    dovrebbe bastare cambiarli in

    /style/document.css e /page/list/style/document.css
    Ultima modifica di simpleticket : 13-09-2011 alle ore 19.52.50

  15. #15
    Guest

    Predefinito

    si questo lo capito poi quando ho visto i link.

    ma pechè in rete mi da:

    errore 404
    Not Found

    The requested URL /page/list/magazine/CAT06 was not found on this server.

  16. #16
    Guest

    Predefinito

    eppure in locale non lo da

  17. #17
    Guest

    Predefinito

    appunto perchè in locale (il tuo pc) i file ci sono.

    Sul sito, nel percorso indicato (sempre il tuo pc), il file specificati non ci sono.

  18. #18
    Guest

    Predefinito

    ops ora sono confuso come non ci sono li ho caricati i file.

    non ho capito bene cosa vuoi dire che i file specificati non ci sono.

  19. #19
    Guest

    Predefinito

    non ho detto che non ci sono, ma che non ci sono nel percorso dove la pagina li va a cercare in quanto questo (il percorso) è relativo al tuo pc e non al sito.

  20. #20
    Guest

    Predefinito

    allora ho riscritto l'htaccess in questo modo:

    Codice PHP:
    RewriteEngine On
    RewriteBase
    /

    RewriteRule ^Contatti$ page/contacts.php [L]
    RewriteRule ^Chi_Siamo$ page/aboutus.php [L]
    RewriteRule ^Privacy$ page/privacy.php [L]
    RewriteRule ^Condizioni_Vendita$ page/sale.php [L]
    RewriteRule ^Spedizioni$ page/shipping.php [L]
    RewriteRule ^Registrazione$ page/registration.php [L]
    RewriteRule ^list/([^/]*)/([^/]*)$ page/list.php?action=$1&cat=$2 [L]
    ho inserito questo file in rete nella cartella "page" e sempre la solita riga mi da:
    404 Not found
    Not Found

    The requested URL /page/list/magazine/CAT06 was not found on this server.

  21. #21
    Guest

    Predefinito

    prova così

    Codice PHP:
    RewriteRule ^list/(.*)/(.*)$ list.php?action=$1&cat=$2 [L]

  22. #22
    Guest

    Predefinito

    allora questo è quello che ho scritto:
    Codice PHP:
    RewriteEngine On
    RewriteBase
    /

    RewriteRule ^Contatti$ page/contacts.php [L]
    RewriteRule ^Chi_Siamo$ page/aboutus.php [L]
    RewriteRule ^Privacy$ page/privacy.php [L]
    RewriteRule ^Condizioni_Vendita$ page/sale.php [L]
    RewriteRule ^Spedizioni$ page/shipping.php [L]
    RewriteRule ^Registrazione$ page/registration.php [L]
    RewriteRule ^page/list/([^/]*)/([^/]*)$ page/list.php?action=$1&cat=$2 [L]
    si trovano tutte nella cartella page.
    Si vedono tutte tranne list.php che mi da
    404 not Found

  23. #23
    Guest

    Predefinito

    Non so più che dirti.

    se vuoi che

    Codice PHP:
    www.sito.com/page/list/magazine/CAT06
    sia tradotto in

    Codice PHP:
    /page/list.php?action=magazine&cat=CAT06
    la regola è

    Codice PHP:
    RewriteRule ^page/list/(.*)/(.*)$ page/list.php?action=$1&cat=$2 [L]
    mentre se vuoi che

    Codice PHP:
    www.sito.com/list/magazine/CAT06
    sia tradotto in

    Codice PHP:
    /page/list.php?action=magazine&cat=CAT06
    la regola è

    Codice PHP:
    RewriteRule ^list/(.*)/(.*)$ page/list.php?action=$1&cat=$2 [L]
    Puoi indicare la url del sito per verificare?

  24. #24
    Guest

    Predefinito

    ma è questo che ho fatto io:

    RewriteEngine On
    RewriteBase /

    RewriteRule ^Contatti$ page/contacts.php [L]
    RewriteRule ^Chi_Siamo$ page/aboutus.php [L]
    RewriteRule ^Privacy$ page/privacy.php [L]
    RewriteRule ^Condizioni_Vendita$ page/sale.php [L]
    RewriteRule ^Spedizioni$ page/shipping.php [L]
    RewriteRule ^Registrazione$ page/registration.php [L]
    RewriteRule ^page/list/(.*)/(.*)$ page/list.php?action=$1&cat=$2 [L]

    il link: list/magazine/CAT01

    mi deve restituire http://www.area51tecnologie.it/page/...zine&cat=CAT01

    ma non lo da mi esce errore 404

    prova te stesso apri questo link www,area51tecnologie.it
    clicca sul menu > accessori

  25. #25
    Guest

    Predefinito

    raga o risoltooooooooooooooooooooooooooooooooooooo

    finalmenteeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee

    su hosting aruba bisognava dare l'istruzione:
    Options -Multiviews

    e la riga:
    RewriteRule ^list/(.*)/(.*)$ page/list.php?action=$1&cat=$2 [L]

  26. #26
    Guest

    Predefinito

    Sono andato in

    http://www.area51tecnologie.it/page/list/magazine/CAT06

    e la pagina appare

    EDIT.

    Ho visto che ci sei riuscito
    Verifica però i link nel menu di sinistra!
    Ultima modifica di simpleticket : 14-09-2011 alle ore 17.34.32

  27. #27
    Guest

    Predefinito

    si devo perfezionare il tutto
    solo ora però mi sta dando errore 500

  28. #28
    Guest

    Predefinito

    volevo chiederti un ultima cosa
    mi da la differenza se metto:
    ^List$
    e
    ^list/(.*)/(.+)$

    sono 2 espressioni diverse o mi vede entrambi list???

  29. #29
    Guest

    Predefinito

    Citazione Originalmente inviato da provalavori Visualizza messaggio
    volevo chiederti un ultima cosa
    mi da la differenza se metto:
    ^List$
    e
    ^list/(.*)/(.+)$

    sono 2 espressioni diverse o mi vede entrambi list???
    Certo che sono 2 cose differenti.
    Intanto in linux (e su altervista i server sono linux) c'è differenza tra maiuscole e minuscole, quindi List è diverso da list.

    Poi la prima indica la sola parola List, mentre la seconda list seguita da / e poi da un numero indefinito di caratteri che creeranno un gruppo che in seguito richiamerai con $1, seguito ancora da uno / e ancora da un gruppo come prima da richiamare con $2

  30. #30
    Guest

    Predefinito

    ok grazie di tutto sei stato molto gentile e disponibilissimo grazie

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •