伪静态文件ISAPI安装好了,也在IIS上配置好了,Web.config文件也配置好了之后,重启IIS,再运行网站的时候,完全没有伪静态效果,还是跟没配置的时候是一样的,这是为什么?我的程序框架版本是4.0,IIS上配置的HTML后缀是2.0。 以下是代码:<?xml version="1.0" encoding="UTF-8"?>
<!--
  有关如何配置 ASP.NET 应用程序的详细信息,请访问
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  
  <configSections>
    <section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />  </configSections>
  
  <RewriterConfig>
    <Rules>
<RewriterRule>
        <LookFor>~/n/(.[0-9]*)\.html</LookFor>
        <SendTo>~/n/info.aspx?fid=$1</SendTo>
      </RewriterRule>      <RewriterRule>
        <LookFor>~/a/(.[0-9]*)\.html</LookFor>
        <SendTo>~/a/index.aspx?cid=$1</SendTo>
      </RewriterRule>      <RewriterRule>
        <LookFor>~/(.*).html</LookFor>
        <SendTo>~/$1.aspx</SendTo>
      </RewriterRule>

    </Rules>
  </RewriterConfig>
  <system.web>
<!--
        <httpHandlers>
      <add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
      <add verb="*" path="*.html" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
     </httpHandlers>
-->
      <httpRuntime requestValidationMode="2.0" />
<compilation debug="true" targetFramework="4.0">
<assemblies>
        
<add assembly="System.Web.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" /></assemblies></compilation>
        <identity impersonate="false" />
  </system.web>
  
</configuration>

解决方案 »

  1.   

    用过 ISAPI 将规则写到ini中的,你这个用法没研究过。另外“IS上配置的HTML后缀是2.0。”是啥意思?
      

  2.   

    ISAPI 是自己写的吗? 将html后缀的交给托管程序去处理?我想 IIS上配置的HTML后缀是2.0 应该是说.html的文件交给.net 2.0去处理吧,试试换成4.0
      

  3.   

    在4.0的框架上配置伪静态我是头一次,在配置ISAPI伪静态时,有一个步骤是要在IIS上配置.html后缀的设置,在这个设置当中,我用的依然是2.0的.net framework,不知这样配置是否正确。
      

  4.   

    ISAPI DLL文件是网上下载的。 ISAPI_Rewrite2.9
      

  5.   

    用 VS 的 网站发布功能 发布到本地IIS 目录下,然后再拷贝到服务器上,改Web文件。看看效果
    估计是没将ISAPI DLL文件拷贝到网站bin目录
      

  6.   

    应该不用修改html文件的处理程序吧,这意味着可以把aspx后缀改成html。参考配置:
    http://www.feizhuming.net/post-23.html
      

  7.   

    程序没有报任何错误,正常运行。  我估计是Web.config配置文件上的逻辑错误。
      

  8.   


    你的web.config中为什么要配置?应该在ini文件中配置啊,也不用改html的处理程序啊
      

  9.   

    .net直接在web.config文件里配置就行了呀,兄弟。
      

  10.   

    <span style="font-color:red">有人用.net4.0做过伪静态吗?</span>
    求解(急),在线等待ing...
      

  11.   

    有人在4.0框架下用ISAPI做过伪静态吗?
      

  12.   


    那就不需要ISAPI_Rewrite了。将html的处理程序设置为.net,你的url重写都是在.net框架下的了。