简单的IIS重写出站规则导致错误,页面崩溃

时间:2015-06-12 14:53:55

标签: asp.net iis url-rewriting iis-7

我尝试在IIS上使用IIS重写出站规则,其中某些网站已成功实施。

所以我创建了一个简单的规则,将“test”替换为“123456”。

我收到此错误

  

500 - 内部服务器错误。您的资源存在问题   正在寻找,它无法显示。

的Web.config

<system.webServer>  
        <!--<urlCompression dynamicCompressionBeforeCache="false" />     -->
        <urlCompression doStaticCompression="false" doDynamicCompression="true" dynamicCompressionBeforeCache="false" />

似乎我添加任何(只是任何)oubound规则网站崩溃。 我的意思是规则的模式没有影响,但规则本身就是一个条目。

有任何线索吗?

P.S。我应该安装URL Rewrite Module 2.0,因为我似乎已经安装了旧版本...... 它会解决这个问题吗?

enter image description here

enter image description here

P.S。我做了一些额外的更改,但它根本不起作用。

  1. 我用
  2.   

    &LT; urlCompression doStaticCompression =“false”        doDynamicCompression =“false”dynamicCompressionBeforeCache =“false”/&gt;

    1. 我安装了此修复程序rewrite_2.0_rtw_x64_KB2749660.msp(https://support.microsoft.com/en-us/kb/2749660“FIX:在IIS Rewrite Module 2.0 for IIS 7.0或IIS 7.5中配置传出规则时,响应已损坏”
    2. 我也在这里询问过这个问题https://forums.iis.net/t/1226401.aspx?Outbound+rule+is+giving+500+error+for+the+entire+website

1 个答案:

答案 0 :(得分:2)

对于outboundRules,请使用如下详细信息..

  1. 在运行网站的计算机上,从命令行运行: reg添加HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ InetStp \ Rewrite / v LogRewrittenUrlEnabled / t REG_DWORD / d 0 您可能需要使用iisreset
  2. 进行此操作
  3. 将以下内容添加到web.config文件的system.webServer部分的顶部,以禁用不受支持的静态压缩,同时保持动态无损;
  4. 3.最后一步,可能不需要 - 但是!打开IIS管理控制台 - 单击顶级项,从IIS段打开“模块”组件。在右侧栏中,单击“查看有序列表...”并确保RewriteModule出现在DynamicCompressionModule下面的列表中。 有关参考,请参阅此处 - http://codeblog.shawson.co.uk/iis7-urlrewrite-outbound-links-with-compression-enabled/

    <rewrite>
      <rules>
        <rule name="InboundFriendlyAboutUs" stopProcessing="true">
          <match url="^about-our-car-finance$" />
          <conditions>
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="page.aspx" />
        </rule>
      </rules>
      <outboundRules>
        <rule name="Outbound1" preCondition="IsHtml">
          <match filterByTags="A, Form" pattern="^(.*)About-Us\.aspx$"/>
          <action type="Rewrite" value="{R:1}about-our-car-finance"/>
        </rule>
    
        <preConditions>
          <preCondition name="IsHtml">
            <add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/html"/>
          </preCondition>
        </preConditions>
      </outboundRules>
    </rewrite>