wordpress在IIS7下如何启用wp-super-cache的高级功能,很多人都只是知道有这么一个插件,开启了之后却发现并不好用。之所以不好用,无外乎没有完整的开启这个插件的功能,这个插件有2部分组成,第一部分就是wp-cahe,这个功能就是生成缓存,大部分人也只是做到这一点。
这个插件有3种模式,半途放弃的无外乎都是IIS的用户,因为IIS无法开启第一个模块,而第二个模块仅仅是个残废的WP-CAHE,难道IIS的用户真的就这样残废掉了吗。
super-wp-cache
肯定不是的,如果你是IIS7或者IIS7.5,那么就可以完整的使用wp-super-cache。
首先大家要明白一点,IIS不能开启第一个模块是因为无法复写,而且默认的规则全是APACHE的规则,所以在IIS7和IIS7.5拥有这一功能的前提下,只要我们把Apache的规则转换成IIS7和IIS7.5的规则就可以完成的使用这一插件。当然错误提示依旧存在,不过选择无视吧。
下面我把我修改过的规则发一下
<?xml version=”1.0″?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”WPSuperCache” stopProcessing=”true”>
<match url=”^(.*)$” ignoreCase=”false” />
<conditions>
<add input=”{REQUEST_METHOD}” negate=”true” pattern=”POST” ignoreCase=”false” />
<add input=”{QUERY_STRING}” negate=”true” pattern=”.*=.*” ignoreCase=”false” />
<add input=”{HTTP_Cookie}” negate=”true” pattern=”^.*(comment_author_|wordpress|wp-postpass_).*$” ignoreCase=”false” />
<add input=”{HTTP_USER_AGENT}” pattern=”^.*(2.0\ MMP|240×320|400X240|AvantGo|BlackBerry|Blazer|Cellphone|Danger|DoCoMo|Elaine/3.0|EudoraWeb|Googlebot-Mobile|hiptop|IEMobile|KYOCERA/WX310K|LG/U990|MIDP-2.|MMEF20|MOT-V|NetFront|Newt|Nintendo\ Wii|Nitro|Nokia|Opera\ Mini|Palm|PlayStation\ Portable|portalmmm|Proxinet|ProxiNet|SHARP-TQ-GX10|SHG-i900|Small|SonyEricsson|Symbian\ OS|SymbianOS|TS21i-10|UP.Browser|UP.Link|webOS|Windows\ CE|WinWAP|YahooSeeker/M1A1-R2D2|iPhone|iPod|Android|BlackBerry9530|LG-TU915\ Obigo|LGE\ VX|webOS|Nokia5800).*” negate=”true” /> <add input=”{DOCUMENT_ROOT}\wp-content\cache\supercache\{HTTP_HOST}\{R:1}\index.html” matchType=”IsFile” />
</conditions>
<action type=”Rewrite” url=”/wp-content/cache/supercache/{HTTP_HOST}/{R:1}/index.html” />
</rule>
<rule name=”wordpress” patternSyntax=”Wildcard”>
<match url=”*”/>
<conditions>
<add input=”{REQUEST_FILENAME}” matchType=”IsFile” negate=”true”/>
<add input=”{REQUEST_FILENAME}” matchType=”IsDirectory” negate=”true”/>
</conditions>
<action type=”Rewrite” url=”index.php”/>
</rule>
<rule name=”WWW 301Redirect” stopProcessing=”true”>
<match url=”.*” />
<conditions>
<add input=”{HTTP_HOST}” pattern=”^imshu.com$” />
</conditions>
<action type=”Redirect” url=”http://www.AAA.com/{R:0}”
redirectType=”Permanent” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我上面的规则是完整的WP的规则,所以有伪静态和301的规则,当完整的放入根目录,启用wp-super-cache,然后你可以刷新下主页,看下源代码
<!– Dynamic page generated in 1.070 seconds. –>
<!– Cached page generated by WP-Super-Cache on 2011-10-11 13:52:20 –>
<!– Compression = gzip –>
在代码底部出现这一提示,就说明你完整的在IIS7下开启了wp-super-cache。顺便说一下,在开启了这一插件的同时,你可以去掉GZIPY了,因为wp-super-cache自带GZIP组件。