W3 Total Cache IIS缩小错误

时间:2016-01-30 04:57:37

标签: wordpress iis w3-total-cache

我的问题

我在尝试使用Wordpress插件W3 Total Cache with IIS缩小URL时遇到错误。

  

W3 Total Cache错误:显示Minify URL重写无效。   请验证服务器配置是否允许.htaccess   不幸的是,没有自定义重写,缩小功能将无法运行   规则。请咨询服务器管理员以获取帮助。还请参考   到服务器规则的安装页面。技术信息

     

.htaccess文件包含重写网址的规则   http://myurl.com/:\网络\ Public_Test2 /可湿性粉剂内容/缓存/缩小/ 000000 / w3tc_rewrite_test。   如果由插件处理,则返回“OK”消息。这个插件做了一个   请求   http://myurl.com/:\网络\ Public_Test2 /可湿性粉剂内容/缓存/缩小/ 000000 / w3tc_rewrite_test   但是收到:连接在2016毫秒之后超时而不是   “好”的回应。

(注意:我为隐私编辑了域名)我发现在那里有域很奇怪,但我不知道如何更改它测试的默认URL。如果来自主目录,它确实是Web / Public_Test2 / wp-content / cache / minify,但那里没有000000文件夹。

W3总缓存建议

在插件的安装选项卡下,有一个注释,供不使用apache的人使用:

  

在未使用Apache的情况下,位于WordPress安装的根目录中的.htaccess文件,wp-content / w3tc / pgcache / .htaccess和wp-content / w3tc / min / .htaccess包含指令必须手动为您的Web服务器软件创建。

但是,w3tc文件夹不存在,只有w3tc-config文件夹,其中包含master.php和master-admin.php文件,没有.htaccess或子文件夹。我检查了wp-config下的缓存文件夹,并且在任何子文件夹中都没有.htaccess。所以我不知道如何更改web.config或使用什么指令。

我的尝试

我发现某处建议将这些重写规则添加到web.config中,我添加了它们,但它根本没有改变错误:

<rule name="w3tc_rewrite_test" stopProcessing="true">
    <match url="^wp-content/cache/minify/000000/w3tc_rewrite_test" />
    <action type="Rewrite" url="wp-content/plugins/w3-total-cache/pub/minify.php?w3tc_rewrite_test=1" logRewrittenUrl="true" />
</rule>
<rule name="w3tc-minify-test-file" stopProcessing="true">
    <match url="wp-content/cache/minify/(.+/[X]+\.css)$"  />
    <action type="Rewrite" url="wp-content/plugins/w3-total-cache/pub/minify.php?test_file={R:1}"  />
</rule>
<rule name="w3tc-minify-file" stopProcessing="true">
    <match url="wp-content/cache/minify/(.+\.(css|js))$"  />
    <action type="Rewrite" url="wp-content/plugins/w3-total-cache/pub/minify.php?file={R:1}"  />
</rule>

1 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,这是适用于我的解决方案:

W3总缓存:版本0.9.4.1

Wordpress:版本4.5.2

IIS:版本7.5

服务器:Windows 2008 R2

我的web.config有以下规则:

<rewrite>
  <rules>
            <clear />
            <rule name="w3tc-minify-file" stopProcessing="true">
                <match url="wp-content/cache/minify/(.+\.(css|js))$" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                <action type="Rewrite" url="wp-content/plugins/w3-total-cache/pub/minify.php?file={R:1}" />
            </rule>
            <rule name="wordpress" enabled="true" patternSyntax="Wildcard">
                <match url="*" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="index.php" />
            </rule>         
        </rules>
</rewrite>

当我将w3tc-minify-file规则放在我的wordpress规则下时,它不起作用,我在W3TC正在创建的所有minify文件中收到404错误。

我使用手动模式缩小,只是将我的css和js文件组合在一起并且工作得很好。希望它可以帮到某人。

使用自动缩小模式的可能性非常低,因此我绝对建议您使用手动模式以获得最大的成功机会。我有3个JS文件和2个CSS文件,我无法组合/缩小,因为他们打破了我的网站。手动模式为您提供最大程度的控制,因此请花一点时间添加每个文件,直到您尽可能地使用它为止。