2010-12-01 158 views
0

我刚使用URL重写更改了其中一个网站的页面URL的结构,我需要将旧结构重定向到新结构(以处理由Google索引的旧链接)。我的问题是,我想重定向到一个重写的URL,而不是一个实际的URL,我找不到一种方法来做到这一点。ASP.Net 301重定向和URL重写

的变化之前,我有以下网址:

重写规则^产品/([^ _ \ r \ n //] *)/([^ _ \ r \ n //] *)/ $ /products.aspx?cat=$1 & SUBCAT = $ 2 NC,L]

更改后,我有以下:

重写规则^产品 - ([^ _ \ r \ n //] * ) - ([^ _ \ r \ n //] *)/ $ /products.aspx?cat=$1 & subcat = $ 2 [NC,L]

我现在想要做的是发出301重定向urls t帽子匹配

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

即具有以下规则:

重写规则^产品 - ([^ _ \ r \ n //] *) - ([^ _ \ r \ n //] *)/ $ products - ([^ _ \ r \ n //] *) - ([^ _ \ r \ n //] *)/[NC,L]

上述规则产生以下错误:

“的页面没有正确重定向”

有没有办法用.Net或使用Url重写规则来做到这一点?

任何帮助将不胜感激。

+0

你用什么改写?你使用的是什么版本的IIS? – CodeMonkey1313 2010-12-01 20:51:25

回答

0

好的,我使用以下规则固定的问题: - ([^ _ \ r \ n //] *) -

重写规则^产品([^ _ \ r \ n //] *)/$ /redir.aspx?url=/products-$1-$2/ [NC,L]

redir.aspx页面的功能是将301代码写入标题并传输到作为传递的新url一个参数。