Alcuni anni fa ho creato un sito ASP.NET basato su database, che utilizza una singola pagina APSX per visualizzare tutte le pagine del sito. Quindi, tutti gli URL del sito sono nel seguente formato:Più segno nella stringa di query per il sito ASP.NET
/main.aspx?page=Page+Title+One
/main.aspx?page=Another+Article+Title
/main.aspx?page=Third+Page
La pagina main.aspx ottiene i dati di stringa di query (pagina + Titolo + One, per esempio) e lo utilizza come una chiave per tirare l'articolo appropriato contenuto dal database del server SQL. Il titolo effettivo della pagina è memorizzato nel db con spazi invece di vantaggi (ad esempio "Titolo pagina uno").
La scarsa decisione di andare con il segno + come separatore di parole nella stringa di query URL sta causando molti problemi con i motori di ricerca ultimamente (contenuto duplicato, ecc.), Quindi voglio correggerlo, ma senza modificare gli URL .
Quello che voglio fare è con il motore di ricerca o un visitatore cerca di visitare l'URL sbagliato mancano i segni + e avere spazi bianchi, invece, ad esempio:
/main.aspx?page=Page Title One
voglio fare 301 redirect permanente:
/main.aspx?page=Page+Title+One
per essere in grado di fare questo ho bisogno di controllare se il valore stringa di query ha vantaggi o spazi bianchi, ma quando arrivo il valore con Request.QueryString [ "pagina"], anche se la stringa effettiva quesry ha i vantaggi in esso ottengo ancora una stringa con spazi bianchi "Pagina Titolo Uno".
Il sito funziona su IIS6/Win 2003.
Come posso fare questo?
I miei URL hanno sempre utilizzato solo il segno più invece degli spazi bianchi o il% 20, tuttavia vedo le pagine memorizzate nella cache in Google come queste 2: /main.aspx?page=KW1 KW2 e /main.aspx?page=KW1% 20KW2, che sono entrambi sbagliati e causano problemi di contenuto duplicato. Ora voglio 301 loro l'URL corretto che è /main.aspx?page=KW1+KW2. –
Questo è praticamente ciò che stavo spiegando. Non sono sicuro di cosa non fosse chiaro, quindi ho aggiunto un esempio di codice che, si spera, spiega. –
Grazie Jon, questo è esattamente quello di cui avevo bisogno :). Come contrassegno la domanda come risposta? –