![](/img/trans.png)
[英]URL Rewrite for Host Header is not working using IIS in asp.net
[英]URL rewrite in ASP.NET IIS error
我试图重写.aspx页面的URL,但我总是发现这个错误:
错误500.23:ASP.NET httpHandlers配置不适用于托管管道模式。
前提:我正在使用Visual Studio 2012和c#
web.config文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<httpHandlers>
<add verb="*" path="viaggi/*.aspx" type="mioRewrite, mioRewrite"/>
</httpHandlers>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<appSettings>
<add key="strConn" value="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\db_viaggi.mdf;Integrated Security=True" />
</appSettings>
</configuration>
类mioRewrite由类IHttpHandlerFactory继承
public class mioRewrite : IHttpHandlerFactory
{
public IHttpHandler GetHandler(HttpContext context, string requestType, string URL, string pathTranslated)
{
classe HttpContext
context.Items["fileName"] = Path.GetFileNameWithoutExtension(URL).ToLower();
return PageParser.GetCompiledPageInstance(URL, context.Server.MapPath("viaggi.aspx"), context);
}
public void ReleaseHandler(IHttpHandler handler) { }
}
我使用过这种方法,因为有些样本会谈论它。
我要做些什么来解决这个错误,以及创建一个URL重写方法?
错误给你的线索。 它不是在集成模式下运行IIS,而是需要在经典模式下运行。
有趣的是,这是一个问题,我的公司已经开了微软的票。 IIS工程师证实它似乎是一个错误,无法提供解决方案。 如果使用无扩展路由和重写规则,我们必须将IIS保留在经典模式下。
如果在IISExpress中运行而不是完整的IIS,您仍然可以使用以下步骤更改为应用程序的经典模式:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.