Buongiorno!
Ho effettuato il rewrite di tutto il mio sito web programmato in asp utilizzando ISAPI, e tutto funziona correttamente. Il sito è stato scritto in MVC, quindi tutte le pagine erano del tipo:
index.asp?pagina=registrati
index.asp?pagina=contatti
...
e poi la pagina index.asp effettua un server.transfer verso un controller interno che fa vedere la view della pagina.
Il mio file .htrewrite è quindi del tipo
RewriteRule ^registrati.html$ index.asp?pagina=registrati [NC,L]
Ora il problema che sorge è questo... il cliente mi richiede che ci sia un redirect 301 dalla pagina index.asp?pagina=registrati alla pagina registrati.html, per favorire i motori di ricerca nel rilevamento delle mie nuove pagine. Questo perchè, nonostante io abbia aggiornato tutti i link interni al mio sito, ci sono un sacco di inlink da siti esterni che puntano sulle pagine vecchie.
Io quindi ho fatto un rewrite del tipo
RewriteRule ^index.asp?pagina=registrati$ registrati.html [NC,R=301,L]
ma non funziona, me lo ignora completamente, probabilmente perchè la pagina index.asp?pagina=registrati esiste!
Ho pensato anche di fare un rewrite tramite codice, andandomi a prendere tramite Request.ServerVariables("URL") l'indirizzo della pagina e:
- nel caso si tratti di registrati.html non compiere nessuna azione
- nel caso si tratti di index.asp?pagina=registrati fare un response.redirect a registrati.html
Ma in ogni caso Request.ServerVariables("URL") mi restituisce sempre e comunque index.asp?pagina=registrati, quindi questo sistema non può funzionare.
Cosa mi consigliate? C'è una soluzione?