首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

asp.net怎么实现伪静态?(URLRewriter)

2013-09-25 
asp.net如何实现伪静态?(URLRewriter)?xml version1.0?!--有关如何配置 ASP.NET 应用程序的详细信息

asp.net如何实现伪静态?(URLRewriter)

<?xml version="1.0"?>
<!--
  有关如何配置 ASP.NET 应用程序的详细信息,请访问
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <configSections>
    <section  name ="RewriterConfig"  type ="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"/>
  </configSections>
  <RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor>~/(.[0-9]*).html</LookFor>
        <SendTo>~/test.aspx?id=$1</SendTo>
      </RewriterRule>
    </Rules>
  </RewriterConfig>
  <appSettings>
    <add key="c" value="" />
    <add key="S" value="" />
  </appSettings>
  <system.web>
    <httpHandlers>
      <remove  verb ="*"  path ="*.asmx"/>
      <add  verb ="*"  path ="*.aspx"  type ="URLRewriter.RewriterFactoryHandler, URLRewriter" />
      <add  verb ="*"  path ="*.html"  type ="URLRewriter.RewriterFactoryHandler, URLRewriter" />
    </httpHandlers>
    <httpModules>
      <add  name ="ScriptModule"  type ="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    </httpModules>
    <compilation debug="true" targetFramework="4.0">
      <assemblies>
        <add assembly="System.Management, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
      </assemblies>
    </compilation>
  </system.web>
</configuration>

这是我的web.config里面的设置。
IIS是8.0(但是感觉和7.5一样)
模式已经改成经典模式
在处理程序映射里面已经添加脚本映射*.html,可执行文件是C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll
已经添加了通配符脚本映射* ,可执行文件同上。按照网上别人的说法,如此就可以了。
但是我输入localhost/5.html时出现

asp.net怎么实现伪静态?(URLRewriter) asp.net html 伪静态 URLRewriter
[解决办法]
仔细看下规则路径是否正确
[解决办法]
经典模式下加上下面这段:


<configuration>
    ...
  <system.webserver>
    <handlers>
      <add name="ASPNET" path="*.html" verb="*" modules="IsapiModule" 
      scriptprocessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" 
      resourcetype="Unspecified" requireaccess="None" precondition="classicMode,runtimeVersionv4.0,bitness64">
      </add>
    </handlers>
  </system.webserver>
    ...
</configuration>

[解决办法]
参考地址:http://blog.csdn.net/cnceohjm/article/details/11726695
[解决办法]
<add name="ScriptModule"...... 这个是那个url重写组件么?

我的url重写组件~是这样注册的~,你要根据你的组件名称来注册
<modules runAllManagedModulesForAllRequests="true">
      <add name="ModuleRewriter" type="URLRewriter.ModuleRewriter, URLRewriter"/>

热点排行