我正在尝试在我的项目中启用重写的urls。这篇文章描述的非常好:urlrewriting by scottgu当我在本地主机上运行它时,它工作得很好,但是当我把它上传到我的主机(.net 3.5)时,它就不能工作了!我总是被重定向到404页面!
是否需要配置才能启用此功能?就像scottgu说的那样,但我不知道为什么它不工作...
谢谢
//更新2.09.2010
实际上,有没有一种方法可以启用路由或重写,而不需要在服务器上安装iis7或安装ISAPI重写之类的模块?看起来我的asp.net主机坏了..。
发布于 2010-08-30 23:36:08
在您的本地主机环境中,您可能正在ASP.NET开发服务器上运行网站。服务器设置为捕获所有请求(* .*)并通过ASP.NET管道运行它们。
另一方面,II6被配置为只通过ASP.NET管道发送一些请求(即*.aspx、*.asmx、*.ashx)。因此,如果您试图捕获对url的请求,例如"/my/fine/url“,它将永远不会被传递到ASP.NET处理程序,因此也不会被重写。
您可以在网站的应用程序配置中更改此配置:
就是这样!您的所有请求现在都应该被定向到ASP.NET处理程序,并因此在您的URL重写器中捕获,而不管扩展名是什么。
但我必须承认,我有点不确定这将如何影响您网站的性能,通过ASP.NET处理程序路由所有静态文件、css、图像等请求。也许其他人对此有什么要说的。
/Dennis :-)
发布于 2010-09-02 21:37:39
发布于 2010-08-30 17:15:39
下面是如何在ASP.NET WebForms中使用新System.Web.Routing示例。
http://deepumi.wordpress.com/2010/02/27/url-routing-in-asp-net-web-forms/
https://stackoverflow.com/questions/3599088
复制相似问题