2017-01-15 68 views
0

環境 的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不存在。我並不熱衷於創建密鑰以查看生產環境中發生的情況。

任何人都可以建議,如果我的懷疑是。重寫緩存是重定向循環的原因是正確的?

如果是這樣,我該如何着手解決問題?我努力尋找有關重定向緩存的任何細節,或者可能導致這種情況的行爲。

感謝

回答

0

問題是通過添加一個條件,負責與不能因此緩存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/