【问题标题】:W3 Total Cache IIS minify errorW3 Total Cache IIS 缩小错误
【发布时间】:2016-06-07 07:39:24
【问题描述】:

我的问题

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

W3 Total Cache 错误:Minify URL rewriting 似乎不起作用。 请验证服务器配置是否允许 .htaccess 不幸的是,如果没有自定义重写,缩小将无法运行 规则。请向您的服务器管理员寻求帮助。另请参阅 到服务器规则的安装页面。技术资料

.htaccess 文件包含重写 url 的规则 http://myurl.com/:\Web\Public_Test2/wp-content/cache/minify/000000/w3tc_rewrite_test。 如果由插件处理,则返回“OK”消息。该插件做了一个 请求 http://myurl.com/:\Web\Public_Test2/wp-content/cache/minify/000000/w3tc_rewrite_test 但收到:连接在 2016 毫秒后超时,而不是 “OK”响应。

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

W3 总缓存建议

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

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

但是,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>

【问题讨论】:

  • 遇到同样的问题,如果解决了请指教。
  • 我真的只是想要缩小选项,所以我创建了自己的基本插件来缩小和合并 JS/CSS 文件。我无法让任何流行的缓存或缩小插件与 Windows 一起使用。

标签: wordpress iis w3-total-cache


【解决方案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 创建的所有缩小文件上都收到 404 错误。

我正在使用手动模式缩小并将我的 css 和 js 文件组合起来,效果很好。希望它可以帮助某人。

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

【讨论】:

    猜你喜欢
    • 2016-10-13
    • 2017-11-19
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    • 2013-03-14
    • 1970-01-01
    • 2020-07-30
    • 2023-03-21
    相关资源
    最近更新 更多