2016-05-24 24 views
1

我是.net生态系统和我的项目的新手。我已经分配了一个任务来创建虚名网址,如下所示。通过不安装任何东西来创建IIS 6中的asp项目的现有URL的虚荣URL

现有的网址是:

www.example.com.in/Public/Basic-Page.html
个性化网址:example.com.in/BasicPage

无论是链接必须在最后工作,指向现有的URL。整个项目在asp,IIS 6中。 我明白我们可以在web.config,global.asax中进行更改来实现这一点。但是,究竟应该编码以及我应该在哪里进行更改。 或 如果可以,我可以在web.config中使用以实现此目的,我该怎么做?

回答

0

this SO answer开始,IIS6没有内置URL重写功能,但可以使用Ionics Isapi Rewrite Filter

另一种选择是使用自定义错误页面将所有404请求定向到ASP页面,然后您将Server.Transfer移动到适当的页面。您可以通过修改web.config文件中做到这一点...

<system.web> 
    ... 
    <customErrors mode="On" redirectMode="ResponseRewrite"> 
     <error statusCode="404" redirect="/404.asp" /> 
    </customErrors> 
    .... 
</system.web> 

然后你可以看一下Request.QueryString确定被请求的页面,并使用Server.Transfer重定向到正确的页面。对于SEO,使用Server.Transfer将比response.Redirect更好。

还有其他使用ASP.NET的方法。

+0

我不确定web.config设置是否可以在IIS6上运行,我想您可能需要打开远程桌面连接并通过IIS管理器设置自定义404页面。有第三方解决方案,如Ionics Isapi模块或Helicontech(不是免费的),但是IIS6与Windows 2003相关联,微软去年为其结束了支持,因此如果该网站尚未迁移到IIS7或者8也许你应该建议它需要。使用IIS7及以上版本,您可以使用URL重写模块。 – John

+0

谢谢@约翰。我们的项目已经有一个,处理404错误。而且,IIS 7或8的迁移不会很快发生。由于项目非常紧张,管理链条很长。第三方解决方案的情况也是如此。所以有无论如何进行更改global.asax, –

+0

我使用global.asax中的以下代码, 'code' <%@ Application Language =“VB”%> 但这doenst有什么影响, 我也曾尝试USI ng Application_BeginRequest而不是Application_Start。我不知道VB中是否支持Application_BeginRequest。 –