在ASP.NET中重命名URL

时间:2011-05-18 20:03:06

标签: asp.net iis-6

我也在这个网站上进行了大量的互联网搜索和搜索。我最近接受了一个Web开发工作,我收到了客户请求,要求将其网址从当前的“www.web.com/ax/abx/abcx/mysite”更改为“www.web.com/mysite”。 / ax / abx / abcx /是解决方案中办公室层次结构的嵌套,其中有很多。

我试图从文件夹'site'中取出结构并在IIS的根网站下直接创建一个虚拟目录,但遇到模板和.dll错误的蛇坑,因为之前的程序员也嵌套了这些。我已经确定需要很多时间来重写模板和.dll以匹配新的命名空间,而我宁愿不必重写网站。

有没有办法只是“欺骗”新网址,以便服务器知道当前目录结构中的位置,如果用户输入“www.website.com/site”?

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:0)

如果使用的是asp.net 3.5或更高版本,则可以使用网络表单路由。

http://msdn.microsoft.com/en-us/library/cc668202(v=vs.90).aspx

答案 2 :(得分:0)

还可以使用URL重写 - 下面的MSDN文章介绍了如何...

http://msdn.microsoft.com/en-us/library/ms972974.aspx

RewriteURL还有一些不错的标准包装 - 在整洁的可配置/可安装模块中 - 下面的一个示例是MSFT支持的:

http://www.iis.net/download/URLRewrite

与将WebApp重新映射到新“路径”的任何方法一样,进行重写有很多副作用,并且有诸如硬编码路径之类的问题/假设 - 我强烈建议彻底测试解决方案。

答案 3 :(得分:0)

我强烈建议在IIS6中使用ISAPI_Rewrite进行URL重写:http://www.helicontech.com/isapi_rewrite/

对于一个全局配置是免费的,或者如果您的IIS中有多个站点,那么可以合理地进行升级(99美元)。

如果你追求它,我可以帮助你具体使用。