在将网站从php移动到asp.net时,如何从旧的Apache mod_rewrite样式网址在asp.net中进行301重定向?

时间:2008-12-12 11:02:53

标签: asp.net redirect iis-6 http-status-code-301

我使用mod_rewrite插件在Apache上运行的现有站点。换句话说,我目前的网址是www.example.com/section/subsection/,谷歌和其他人已将其编入索引。

但是,该网站需要进行重大升级,我想将其移至asp.net。我只能选择使用共享托管解决方案(iis 6,aps.net 3.5,完全信任)。所以我的问题是:如何让asp.net从我的旧网址(如www.example.com/section/subsection/)进行301重定向到新的asp.net网站上的等效网站?

我显然需要这样做,以免在搜索引擎中排除目前的排名。

谢谢,Egil。

3 个答案:

答案 0 :(得分:1)

如果您使用ASP.NET MVC框架,则它内置了一个URL重写系统。

如果要设置“移动”位置,可以使用IIS管理器手动将301重定向添加到IIS中。

如果要进行URL重写,则需要实现IHttpModule,挂接BeginRequest事件,并将该新类添加到Web.config中的httpModules部分。

答案 1 :(得分:1)

好的......所以这可能有点矫枉过正,可能会用另外两种方式完成......但是......

如果您保留相同的域名,那么我过去所做的就是保留旧网址表以及它们如何映射到新网址。根据应用程序的请求,我将扫描表格,如果找到旧网址,那么我将添加一个标题,将301重定向到新网址。

答案 2 :(得分:0)

根据Steve Sanderson的博客文章Deploying ASP.NET MVC to IIS 6,看起来在共享主机设置中无法使用IIS6进行URL重写/重定向,您无法手动配置IIS。尔加...