用UrlRewriter.dll实现伪静态后在服务器不能运行出现404错误 文件或目录未找到。
在本测试运行正常
以下是
<?xml version="1.0"?>
<!--
    注意: 除了手动编辑此文件以外,您还可以使用 Web 管理工具来
    配置应用程序的设置。
    可以使用 Visual Studio 中的“网站”->“Asp.Net 配置”选项。
    设置和注释的完整列表在    machine.config.comments 中,
   该文件通常位于
    \Windows\Microsoft.Net\Framework\v2.x\Config 中
-->
<configuration>
<configSections>
 <section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter" />
<sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere"/>
<section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication"/>
<section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false"allowDefinition="MachineToApplication"/>
</sectionGroup>
</sectionGroup>
</sectionGroup>
</configSections>
  <appSettings>
   <add key="uploadFolder" value="~/File/"/>
  </appSettings >
  <connectionStrings/>  <CustomConfiguration>
    <urls>
      <add virtualUrl="~/index.html" destinationUrl="~/default.aspx" />
      <add virtualUrl="~/waffgyp(\d{1,9}).html" destinationUrl="~/waff_gy.aspx?page=$1" />
      <add virtualUrl="~/jigouup(\d{1,9}).html" destinationUrl="~/jigou.aspx?page=$1" />
      <add virtualUrl="~/waffxp(\d{1,9}).html" destinationUrl="~/waff_xp.aspx?page=$1" />
      <add virtualUrl="~/guup(\d{1,9}).html" destinationUrl="~/gu.aspx?page=$1" />
      <add virtualUrl="~/wendaa.html" destinationUrl="~/wenda.aspx" />
      <add virtualUrl="~/N1100S0011T(\d{1,9})\.html" destinationUrl="~/news.aspx?id=$1" />
      <add virtualUrl="~/news/(\d{1,9})" destinationUrl="~/news.aspx?id=$1" />
      <add virtualUrl="~/N1100T0011T(\d{1,9})\.html" destinationUrl="~/news_text.aspx?id=$1" />
      <add virtualUrl="~/W1100G0011T(\d{1,9})\.html" destinationUrl="~/waff_text.aspx?id=$1" />
      <add virtualUrl="~/W1100X0011T(\d{1,9})\.html" destinationUrl="~/waffxp_text.aspx?id=$1" />
      <add virtualUrl="~/W1100A0011T(\d{1,9})\.html" destinationUrl="~/wanda_txt.aspx?id=$1" />
      <add virtualUrl="~/shop_index(\d{1,9})\.html" destinationUrl="~/shop.aspx?id=$1" />
      <add virtualUrl="~/WADU(\d{1,9})\.html" destinationUrl="~/shop_txt.aspx?id=$1" />
      <add virtualUrl="~/WNEWS(\d{1,9})\.html" destinationUrl="~/shop_news.aspx?id=$1" />
      <add virtualUrl="~/TXT(\d{1,9})\.html" destinationUrl="~/shop_Scope.aspx?id=$1" />
      <add virtualUrl="~/PRO(\d{1,9})\.html" destinationUrl="~/shop_pro.aspx?id=$1" />
      <add virtualUrl="~/LXWM(\d{1,9})\.html" destinationUrl="~/shop_lxwm.aspx?id=$1" />
      <add virtualUrl="~/user/crm.html" destinationUrl="~/user/info.aspx" />
      <add virtualUrl="~/ce.html" destinationUrl="~/ce.aspx" />
      <add virtualUrl="~/load.html" destinationUrl="~/login.aspx" />
      <add virtualUrl="~/reginfo.html" destinationUrl="~/Reg.aspx" />
      <add virtualUrl="~/close.html" destinationUrl="~/end.aspx" />
    </urls>
  </CustomConfiguration>
  
<system.web>
        
<!--
            设置 compilation debug="true" 可将调试符号
            插入已编译的页面中。
            但由于这会影响性能,因此只在开发过程中将此值
            设置为 true。
        -->
<compilation debug="false">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/></assemblies></compilation>
<!--
            通过 <authentication> 节可以配置 ASP.NET 用来 
            识别进入用户的
            安全身份验证模式。 
        -->
<authentication mode="Windows"/>
<!--
            如果在执行请求的过程中出现未处理的错误,
            则通过 <customErrors> 节可以配置相应的处理步骤。
            具体说来,
            开发人员通过该节可以配置
            要显示的 HTML 错误页以代替错误堆栈跟踪。        <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
            <error statusCode="403" redirect="NoAccess.htm" />
            <error statusCode="404" redirect="FileNotFound.htm" />
        </customErrors>
        <customErrors mode="On" defaultRedirect="index.html"/>
        -->    <customErrors mode="Off"/>
    <pages>
<controls>
<add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></controls></pages>
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" validate="false" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpHandlers>

    <httpModules>
      <add type="URLRewriter.RewriterModule, URLRewriter" name="RewriterModule"/>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
    </httpModules>
  
  </system.web>
  
  
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CSharp.CSharpCodeProvider,System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="WarnAsError" value="false"/></compiler>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.VisualBasic.VBCodeProvider, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" warningLevel="4">
<providerOption name="CompilerVersion" value="v3.5"/>
<providerOption name="OptionInfer" value="true"/>
<providerOption name="WarnAsError" value="false"/></compiler></compilers></system.codedom>
<system.webServer>
<validation validateIntegratedModeConfiguration="false"/>
<modules>
<remove name="ScriptModule"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></modules>
<handlers>
<remove name="WebServiceHandlerFactory-Integrated"/>
<remove name="ScriptHandlerFactory"/>
<remove name="ScriptHandlerFactoryAppServices"/>
<remove name="ScriptResource"/>
<add name="ScriptHandlerFactory" verb="*" path="*.asmx" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptHandlerFactoryAppServices" verb="*" path="*_AppService.axd" preCondition="integratedMode" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add name="ScriptResource" verb="GET,HEAD" path="ScriptResource.axd" preCondition="integratedMode" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/></handlers></system.webServer>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Extensions.Design" publicKeyToken="31bf3856ad364e35"/>
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/></dependentAssembly></assemblyBinding></runtime></configuration>

解决方案 »

  1.   

    服务器是iis6的话,需要把html扩展名映射到aspnet_isapi.dll 
    http://www.programbbs.com/doc/393.htm
      

  2.   

    在iis做一下 .html的映射 正解,至于如何做html的映射,去搜索一下,有详细的步骤的
      

  3.   

    做iis 对应后缀的映射  记得在做的时候 需要把查找文件是否存在的勾去掉
      

  4.   

    IIS配置:网站->属性->目录->配置(G)...->映射->应用程序扩展->添加
    可执行文件:c:\windows\microsoft.net\framework\v2.0.50727\aspnet_isapi.dll
    扩展名:.html
    动作:限制为 GET,HEAD,POST,DEBUG
    脚本引擎:选中
    确认文件是否存在:不选