Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Rewrite e url indicizzati.

    Salve ragazzi.

    Avrei un piccolo problemino.

    In pratica ho fatto un restyling di un sito...e creando le varie pagine e sottopagine non ho fatto caso al fatto che alcune pagine erano state indicizzate come www.sito.com/pagina.htm

    Ora, siccome diverse pagine sono state messe in alcune cartelle, volevo capire se c'era un metodo tramite rewrite, di far funzionare lo stesso il tutto.

    In pratica adesso avrei

    www.sito.com/cartella/pagina.htm

    Che dovrebbe essere

    www.sito.com/pagina.htm

    Volendo la variabile che mi definisce la pagina la posso usare come nome pagina da ricercare dentro la cartella.

    Consigli? Grazie.

  2. #2
    Prova ad aggiungere questa regola all'htaccess:
    codice:
    RewriteRule !/cartella/.*$ - [C]
    RewriteRule  ^(.+).html$  /cartella/$1.html[/i]
    In questo modo, tutti i file dentro cartella saranno visibili anche se nell'URL non è scritto

  3. #3
    Intanto grazie per la risposta.

    In parole Umane mi potresti spiegare cosa fanno le due righe di codice.

    Grazie

    Edit: cmq non funziona la regola

  4. #4
    Mi sono accorto di tre errori:
    1: Ho scritto .html e non htm come nel tuo post.
    2: C'è un [/i] in più alla fine delle regola.
    3: ho scritto una regola senza senso (credo).
    Usa questo:
    codice:
    RewriteEngine on
    RewriteBase /
    RewriteCond %{REQUEST_URI} !^/cartella/.*$
    RewriteRule ^([a-zA-Z0-9]*).htm$  /cartella/$1.htm
    Dovrebbe funzionare

    In poche parole quello che chiedi:
    ([a-zA-Z0-9]*) permette tutti i caratteri che siano lettere maiuscole e minuscole con numeri nell'url senza limiti, ma nessun carattere speciale, è riprende $1.

    Dimmi se va, se non va non saprei che dirti.

    Ovviamente RewriteBase / dovrai sostituire la path con quella dove risiede il file .htaccess, quindi credo la root, se si lascia così, sempre che tu non abbia già definito tutto.

    RewriteEngine on idem, se l'hai già scritto, non riscriverlo, riscrivi la condizione e la regola

  5. #5
    Grazie di nuovo, ma non funziona neanche cosi'

  6. #6
    Allora, il tutto è nella root del sito?

    Hai cambiato cartella con il nome della cartella che vuoi non venga visto nell'uri?

  7. #7
    Si ad entrambe le domande....

    Vabbè dai non è indispensabile tanto avevo già risolto mettendo tutto in root...

    Era solo per fare un pò di ordine

  8. #8
    Però vorrei sapere perchè non funziona!! Purtroppo non posso provare in locale che XAMPP fa i capricci con la porta 80, altrimenti ti avrei aiutato volentieri, essendo esauriente

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.