简单的 IIS 重写出站规则出现错误和页面崩溃
Simple IIS rewrite outbound rule is giving an error and page crashes
我尝试在某些网站已成功实施的 IIS 上使用 IIS 重写出站规则。
所以我创建了一个简单的规则,将单词 "test" 替换为“123456”。
我收到了这个错误
500 - Internal server error. There is a problem with the resource you
are looking for, and it cannot be displayed.
Web.config
<system.webServer>
<!--<urlCompression dynamicCompressionBeforeCache="false" /> -->
<urlCompression doStaticCompression="false" doDynamicCompression="true" dynamicCompressionBeforeCache="false" />
似乎如果我添加任何(只是任何)出站规则,网站就会崩溃。
我的意思是规则的模式没有影响,但规则本身就是一个条目。
有线索吗?
P.S。我应该安装 URL Rewrite Module 2.0 因为我好像安装了旧版本... 它能解决问题吗?
P.S。我做了一些额外的更改,但它根本不起作用。
- 我用
< urlCompression doStaticCompression="false"
doDynamicCompression="false" dynamicCompressionBeforeCache="false" / >
- 我安装了此修复程序 rewrite_2.0_rtw_x64_KB2749660.msp (https://support.microsoft.com/en-us/kb/2749660 "FIX: Response is corrupted when you configure an outgoing rule in URL Rewrite Module 2.0 for IIS 7.0 or IIS 7.5")
我也在这里问过这个问题https://forums.iis.net/t/1226401.aspx?Outbound+rule+is+giving+500+error+for+the+entire+website
对于 outboundRules 使用如下详细信息..
在 运行 机器上,从命令行 运行:
reg 添加 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\Rewrite /v LogRewrittenUrlEnabled /t REG_DWORD /d 0
您可能需要使用 iisreset 跟进
- 将以下内容添加到 web.config 文件的 system.webServer 部分的顶部,以禁用不受支持的静态压缩,同时保持动态不受损害;
<urlCompression doStaticCompression="false" doDynamicCompression="true" dynamicCompressionBeforeCache="false" />
- 可能不需要最后一步 - 但是!打开您的 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>
我尝试在某些网站已成功实施的 IIS 上使用 IIS 重写出站规则。
所以我创建了一个简单的规则,将单词 "test" 替换为“123456”。
我收到了这个错误
500 - Internal server error. There is a problem with the resource you are looking for, and it cannot be displayed.
Web.config
<system.webServer>
<!--<urlCompression dynamicCompressionBeforeCache="false" /> -->
<urlCompression doStaticCompression="false" doDynamicCompression="true" dynamicCompressionBeforeCache="false" />
似乎如果我添加任何(只是任何)出站规则,网站就会崩溃。 我的意思是规则的模式没有影响,但规则本身就是一个条目。
有线索吗?
P.S。我应该安装 URL Rewrite Module 2.0 因为我好像安装了旧版本... 它能解决问题吗?
P.S。我做了一些额外的更改,但它根本不起作用。
- 我用
< urlCompression doStaticCompression="false" doDynamicCompression="false" dynamicCompressionBeforeCache="false" / >
- 我安装了此修复程序 rewrite_2.0_rtw_x64_KB2749660.msp (https://support.microsoft.com/en-us/kb/2749660 "FIX: Response is corrupted when you configure an outgoing rule in URL Rewrite Module 2.0 for IIS 7.0 or IIS 7.5")
我也在这里问过这个问题https://forums.iis.net/t/1226401.aspx?Outbound+rule+is+giving+500+error+for+the+entire+website
对于 outboundRules 使用如下详细信息..
在 运行 机器上,从命令行 运行:
reg 添加 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp\Rewrite /v LogRewrittenUrlEnabled /t REG_DWORD /d 0
您可能需要使用 iisreset 跟进
- 将以下内容添加到 web.config 文件的 system.webServer 部分的顶部,以禁用不受支持的静态压缩,同时保持动态不受损害;
<urlCompression doStaticCompression="false" doDynamicCompression="true" dynamicCompressionBeforeCache="false" />
- 可能不需要最后一步 - 但是!打开您的 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>