Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: href e mod_rewrite

  1. #1

    href e mod_rewrite

    Ciao a tutti, il mio quesito è questo:...

    Devo modificare un sito in cui le pagine web php venivano letteralmente create, con FOPEN.
    chiaramente le URL di queste pagine erano molto lineari del tipo http://www.sito.it/categoria/url.php...
    ma adesso mi trovo nella situazione di stravolgere questa procedura ed utilizzare un htaccess per la riscrittura delle url reindirizzando tutti i click in una pagina di tipo url.php?id=1234 ...
    Il problema è questo...
    Passando sopra le url nuove con il mouse appare, non più il bel titolino della pagina, ma bensì url.php?id=1234 anche se alla fine la url finale è quella riscritta...

    come faccio a trasformare l'href che si legge in basso nel browser al passaggio del mouse?

    grazie in anticipo.

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    io non ho ben capito: sei "costretto" a inserire nel codice HTML gli indirizzi con il parametro? non puoi "lasciare" gli altri e usare htaccess per appunto rimandarli a quelli del tipo ?id=xxx

  3. #3
    Originariamente inviato da eiyen
    io non ho ben capito: sei "costretto" a inserire nel codice HTML gli indirizzi con il parametro? non puoi "lasciare" gli altri e usare htaccess per appunto rimandarli a quelli del tipo ?id=xxx
    bhe, intanto grazie per la risposta.

    il punto è che il href prima era uguale ad esempio a dei parametri stratti da db. miosito.it/$categoria/$titolo.php

    come faccio a passare questi parametri ad un file.php senza usare get e post?

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    sì... con mod_rewrite appunto... scrivi la regola che converte example.com/$categoria/$titolo.php in example.com?categoria=$categoria&titolo=$titolo

  5. #5
    Originariamente inviato da eiyen
    sì... con mod_rewrite appunto... scrivi la regola che converte example.com/$categoria/$titolo.php in example.com?categoria=$categoria&titolo=$titolo
    ok...come avrai capito non ne sono così esperto. come dovrei fare?

    grazie.

  6. #6
    Originariamente inviato da bigdoll
    ok...come avrai capito non ne sono così esperto. come dovrei fare?

    grazie.
    Cioè facendo come dici tu ho scritto nel mio .htaccess questo codice.

    codice:
    RewriteEngine On
    RewriteRule ^articoli/([^/]+)/(.+)\.php$ /articoli/articolo.php?$ctt=$1&$uri=$1 [L]
     ErrorDocument 404 /404
    Ma adesso nella URL non trovo più /articoli/categoria/titolo.php ma articolo.php?ctt=valore&uri=valore

    e non è esattamente ciò che volevo ottenere...

    chiedo aiuto in questo...

    grazie..

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    prova creando il file .htaccess nella root del sito così:

    codice:
    <IfModule mod_rewrite.c>
    	RewriteEngine on  
    	RewriteBase /
    	RewriteCond %{REQUEST_FILENAME} !-f
    	RewriteCond %{REQUEST_FILENAME} !-d
    	RewriteRule ^([^/]*)/([^/]*)$ index.php?categoria=$1&titolo=$2 [L,QSA]
    </IfModule>
    la regexp però non l'ho ricontrollata...

  8. #8
    Originariamente inviato da eiyen
    prova creando il file .htaccess nella root del sito così:

    codice:
    <IfModule mod_rewrite.c>
    	RewriteEngine on  
    	RewriteBase /
    	RewriteCond %{REQUEST_FILENAME} !-f
    	RewriteCond %{REQUEST_FILENAME} !-d
    	RewriteRule ^([^/]*)/([^/]*)$ index.php?categoria=$1&titolo=$2 [L,QSA]
    </IfModule>
    la regexp però non l'ho ricontrollata...
    Così com'era mi dava errore 404, pertanto Ho ritoccato il tuo codice in questo modo:

    codice:
    <IfModule mod_rewrite.c>
    RewriteEngine on   	
    RewriteBase / 	
    RewriteCond %{REQUEST_FILENAME} !-f 	
    RewriteCond %{REQUEST_FILENAME} !-d 	
    RewriteRule ^articoli/([^/]*)/([^/]*)$ /articoli/articolo.php?categoria=$1&titolo=$2 [L,QSA] 
    </IfModule>
    Adesso esce una pagina bianca senza nessun segno di errore etc...solo bianca con sorgente bianca...

    Heeeelp

  9. #9

    RISOLTO

    Eiyen sei stato mitico!
    Ho risolto mettendo \.php nella parte delle regex perchè gli href nelle pagine terminavano con .php ed adesso funziona tutto.

    grazie.

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    3,709
    Cambia le opzioni L,QSA con R,L,QSA (effettua un redirect forzato in modo che in fase di debugging VEDI l'url come cambia, poi lo togli una volta sistemato il tutto).
    Dopodichè verifica che pagina viene aperta: se rimane ancora bianca non è un problema di .htaccess ma dello script.

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.