发布
社区首页 >问答首页 >用asp.net重写网址。是否需要配置?

用asp.net重写网址。是否需要配置?
EN

Stack Overflow用户
提问于 2010-08-30 16:57:40
回答 3查看 829关注 0票数 6

我正在尝试在我的项目中启用重写的urls。这篇文章描述的非常好:urlrewriting by scottgu当我在本地主机上运行它时,它工作得很好,但是当我把它上传到我的主机(.net 3.5)时,它就不能工作了!我总是被重定向到404页面!

是否需要配置才能启用此功能?就像scottgu说的那样,但我不知道为什么它不工作...

谢谢

//更新2.09.2010

实际上,有没有一种方法可以启用路由或重写,而不需要在服务器上安装iis7或安装ISAPI重写之类的模块?看起来我的asp.net主机坏了..。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-30 23:36:08

在您的本地主机环境中,您可能正在ASP.NET开发服务器上运行网站。服务器设置为捕获所有请求(* .*)并通过ASP.NET管道运行它们。

另一方面,II6被配置为只通过ASP.NET管道发送一些请求(即*.aspx、*.asmx、*.ashx)。因此,如果您试图捕获对url的请求,例如"/my/fine/url“,它将永远不会被传递到ASP.NET处理程序,因此也不会被重写。

您可以在网站的应用程序配置中更改此配置:

  1. 打开IIS管理器,右键单击网站,在“主目录”选项卡上选择“属性”“
  2. ”,然后单击“配置...”按钮。
  3. 单击“插入...”按钮插入通配符应用程序映射。在“可执行文件:”中插入到aspnet_isapi.dll的路径,在我的例子中是C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll (注意:此路径在您的服务器上可能不同)。记得取消勾选"Verify Exists"
  4. Click
  5. OK!

就是这样!您的所有请求现在都应该被定向到ASP.NET处理程序,并因此在您的URL重写器中捕获,而不管扩展名是什么。

但我必须承认,我有点不确定这将如何影响您网站的性能,通过ASP.NET处理程序路由所有静态文件、css、图像等请求。也许其他人对此有什么要说的。

/Dennis :-)

票数 4
EN

Stack Overflow用户

发布于 2010-09-02 21:37:39

在IIS6中获取无扩展路由有两种方式:

a) ISAPI重写或其他ISAPI url重写器

b)使用通配符映射到aspnet_isapi.dll

有关详细说明,请参阅this blog post

票数 1
EN

Stack Overflow用户

发布于 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/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3599088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档