1
我希望能夠在IIS 7中使用url重寫來重寫url,只要匿名用戶擊中我的wordpress站點的主頁。有沒有辦法確定用戶是否登錄或不是重寫規則的條件?IIS Rewrite Wordpress用戶身份驗證
我希望能夠在IIS 7中使用url重寫來重寫url,只要匿名用戶擊中我的wordpress站點的主頁。有沒有辦法確定用戶是否登錄或不是重寫規則的條件?IIS Rewrite Wordpress用戶身份驗證
原來,這可以通過檢查cookie來完成。在我的情況下,我檢查HTTP_COOKIE是否包含文本'wordpress'。如果沒有,那麼我將重寫爲我的頁面的緩存版本。
我還包括一個檢查,以確保我們在www子域名,以避免與URL在mydomain.com上運行時,我的重寫規則的另一個衝突。
<rule name="HomePageCacheRewriteRule" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^$" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_COOKIE}" negate="true" pattern="wordpress" />
<add input="{HTTP_HOST}" pattern="www.mydomain.com" />
</conditions>
<action type="Rewrite" url="cached-home-page.htm" />
</rule>
結果是匿名用戶獲得緩存頁面,而登錄/最近註銷的用戶看到由Wordpress加載的標準頁面。
注意:還有一些額外的檢查可能會被添加來處理一些其他情況。這裏有一個很好的文章,其中有一個更強大的例子http://ruslany.net/2008/12/speed-up-wordpress-on-iis-70/