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

    Url-rewrite riscrive ma non reindirizza pagina con dati variabili

    Buondì a tutti

    ho una pagina con questi valori variabili:
    index.php?a=lista&id=1&parent=53&l=apri_linea&goto =polo_come_vuoi_tu

    Questo è il codice in htaccess:

    Options +FollowSymLinks
    RewriteEngine On

    RewriteCond %{QUERY_STRING} ^a=([-a-zA-Z0-9_+]+)&id=([-a-zA-Z0-9_+]+)&parent=([-a-zA-Z0-9_+]+)&l=([-a-zA-Z0-9_+]+)&goto=([-a-zA-Z0-9_+]+)$

    RewriteRule ^index\.php$ /%1/%2/%3/%4/%5.html [R=301,L]

    RewriteRule ^([^/]+)/([^/]+)/([^/]+)/([^/]+)/([^/]+)\.html$ /index.php?a=$1&id=$2&parent=$3&l=$4&goto=$5 [L]

    La condizione mi legge la query string e funziona
    la prima RewriteRule me la converte in un url statico e funziona ma genera una pagina vuota
    se attivo la seconda rewriteRule mi da la pagina giusta ma non formattata (perde tutti i fogli stile) e non riscrive l'url statico.
    La prima e la quarta variabile sono sempre fisse mentre la quinta (ultima) è la variabile del nome della categoria che ho portato in url e che vorrei generasse il nuovo url.

    Credo che la sintassi sia giusta ma non capisco perchè non mi funziona.

    Se invece scrivo manualmente questo

    # ABBIGLIAMENTO PROMOZIONALE
    RewriteCond %{QUERY_STRING} ^a=lista&id=1&parent=0$
    RewriteRule ^index\.php$ /abbigliamento_promozionale.html? [R=301,L]
    RewriteRule ^abbigliamento_promozionale\.html$ /index.php?a=lista&id=1&parent=0 [L]

    ovvero a ID=1 corrisponde abbigliamento promozionale, funziona perfettamente.

    Dove sbaglio?

    Grazie mille in anticipo

  2. #2
    Ciao, miscuso in anticipo perchè non ho potuto analizzare tutto quello che hai scritto, ma comincio a risponderti alla domanda sui css.
    Non te li carica perchè molto probabilmente hai inserito un percorso relativo dei css e quindi li cerca ad un indirizzo le cui cartelle seguono il percorso di quello fittizio, ho due soluzioni:
    La prima che ho sperimentato io stesso è definire una variabile che contiene la root del tuo sito (con tanto di http://) ed inserirla prima dei link dei css in modo che l'indirizzo risulti assoluto e se devi cambiare root (ad esempio per passare da ambiente di sviluppo ad ambiente di produzione) ti basta cambiarla solo una volta.
    La seconda che non ho sperimentato direttamente, ma suppongo funzioni senza problemi consiste nello scrivere le rule di rewriting del css, calcolando come lo compone.

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.