2010-12-01 9 views
0

Ich habe nur die Struktur der Seiten URLs einer meiner Websites mit URL-Umschreiben geändert und ich muss die alte Struktur auf die neue umleiten (um alte Links von Google indiziert). Mein Problem ist, dass ich auf eine umgeschriebene URL umleiten möchte, nicht auf eine tatsächliche URL, und ich kann keinen Weg finden, dies zu tun.ASP.Net 301 Weiterleitungen und URL-Umschreiben

Vor den Änderungen hatte ich die folgenden URLs:

RewriteRule^Produkte/([^ _ \ r \ n //] *)/([^ _ \ r \ n //] *)/$ /products.aspx?cat=$1 & subcat = $ 2 [NC, L]

Nach den Änderungen, ich habe folgendes:

RewriteRule^Produkte - ([^ _ \ r \ n //] *) - ([^ _ \ r \ n //] *)/$ /products.aspx?cat=$1 & subcat = $ 2 [NC, L]

Was ich jetzt tun möchte, ist eine 301 Redirect für URLs t hat Übereinstimmung

^products/([^ _ \ r \ n //] *)/([^ _ \ r \ n //] *)/$ an^products - ([^ _ \ r \ n //] *) - ([^ _ \ r \ n //] *)/$,

dh die folgende Regel haben:

RewriteRule^Produkte - ([^ _ \ r \ n //] *) - ([^ _ \ r \ n //] *)/$ produkte - ([^ _ \ r \ n //] *) - ([^ _ \ r \ n //] *)/[NC, L]

die obige Regel die folgenden Fehler erzeugt:

"die Seite kann nicht richtig Umleitung"

Gibt es eine Möglichkeit, dies mit .NET zu tun oder URL-Umschreibungsregeln zu verwenden?

Jede Hilfe würde dankbar geschätzt werden.

+0

Was verwenden Sie zum Neuschreiben? Welche Version von IIS verwenden Sie? – CodeMonkey1313

+0

Ohne zu tief in Ihre Ausdrücke zu schauen, weist die Nachricht, die Sie erhalten, höchstwahrscheinlich auf eine Weiterleitungsschleife hin, d. H., Sie wird endlos auf sich selbst umgeleitet. –

+0

Ich verwende Helicon ISAPI 3.0 und IIS 6. Ich nehme an, dass das Problem die Umleitung zu einem anderen virtuellen Pfad ist, kein physischer. – user501223

Antwort

0

Ok, ich das Problem mit Hilfe der folgenden Regel festgelegt:

RewriteRule^Produkte - ([^ _ \ r \ n //] *) - ([^ _ \ r \ n //] *)/$ /redir.aspx?url=/products-$1-$2/ [NC, L]

Was die redir.aspx-Seite tut, ist ein 301-Code in die Kopfzeile schreiben und auf die neue URL übertragen, die als übergeben wird ein Parameter dazu.

Verwandte Themen