【发布时间】:2012-03-23 12:52:08
【问题描述】:
每当匿名用户访问我的 wordpress 网站主页时,我希望能够使用 IIS 7 中的 url 重写来重写 url。有没有办法识别用户是否登录作为重写规则的条件?
【问题讨论】:
标签: wordpress iis authentication url-rewriting
每当匿名用户访问我的 wordpress 网站主页时,我希望能够使用 IIS 7 中的 url 重写来重写 url。有没有办法识别用户是否登录作为重写规则的条件?
【问题讨论】:
标签: wordpress iis authentication url-rewriting
原来这可以通过检查 cookie 来完成。就我而言,我检查 HTTP_COOKIE 是否包含文本“wordpress”。如果没有,那么我重写到我的页面的缓存版本。
我还包括一项检查,以确保我们在 www 子域上,以避免与我在 mydomain.com 上的 url 时运行的另一个重写规则发生冲突。
<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/
【讨论】: