重定向过多,间歇性问题 - 犯罪嫌疑人重写缓存

问题描述:

环境 的Windows Server 2012 R2 64位 IIS 8 的Plesk 12.5重定向过多,间歇性问题 - 犯罪嫌疑人重写缓存

运行WordPress的有过多的重定向,但只对特定的网址,间歇性地响应,仅约30 A网站分钟。之后,按要求提供所请求的页面。网站的其他部分使用相同的重写规则在整个过程中正确响应。

特别是一个URL受到的影响比其他URL要多。注意到它在网站首页上显示并且正在通过社交渠道推送可能是相关的。

失败请求跟踪示出了用于特定URL以下:

URL_REWRITE_START RequestURL /类别/投票-2/

REDIRECT_FROM_CACHE_ACTION CachedRedirectedURL HTTP:// www.website.com/category/决-2/RedirectType常驻

URL_REWRITE_END RequestURL http://www.website.com/category/referendum-2/

这显然是无限重定向循环的开始。

当网址投放正常失败请求跟踪显示:

URL_REWRITE_END RequestURL的index.php

这显然为WordPress是正确的,的index.php处理所有前端页面请求。

如果查询字符串添加到请求的URL如。/category/referendum-2 /?key = value IIS正确地为请求的页面提供服务。因此,我怀疑查询字符串会导致IIS跳过重写缓存,这意味着缓存会导致重定向循环。

我看过帖子https://blogs.msdn.microsoft.com/danielvl/2010/01/07/registry-values-for-iis-url-rewrite/详细介绍了如何通过注册表禁用重写缓存,但注册表项HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ InetStp \ Rewrite不存在。我并不热衷于创建密钥以查看生产环境中发生的情况。

任何人都可以建议,如果我的怀疑是。重写缓存是重定向循环的原因是正确的?

如果是这样,我该如何着手解决问题?我努力寻找有关重定向缓存的任何细节,或者可能导致这种情况的行为。

感谢

问题是通过添加一个条件,负责与不能因此缓存sidesteping缓存参数调用无限重定向循环的重定向规则解决。

<rule name="Imported Rule 2" stopProcessing="true"> 
 
\t <match url=".*" ignoreCase="false" /> 
 
\t <conditions logicalGrouping="MatchAll"> 
 
\t \t <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> 
 
\t \t <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> 
 
\t </conditions> 
 
\t <action type="Rewrite" url="index.php" /> 
 
</rule>

改为

<rule name="Imported Rule 2" stopProcessing="true"> 
 
\t <match url=".*" ignoreCase="false" /> 
 
\t <conditions logicalGrouping="MatchAll"> 
 
\t \t <add input="{REMOTE_PORT}" pattern=".*" /> 
 
\t \t <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" /> 
 
\t \t <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" /> 
 
\t </conditions> 
 
\t <action type="Rewrite" url="index.php" /> 
 
</rule>

一个更好的解决方案可能是更新的applicationHost.config的frequentHitThreshold和frequentHitTimePeriod。详情请参阅http://www.ckode.dk/server-configuration/tuning-iis-7-for-static-content/