W3 Total Cache IIS минимизирует ошибку
Моя проблема
Я получаю сообщение об ошибке при попытке минимизировать URL-адреса с помощью плагина Wordpress W3 Total Cache с IIS.
W3 Total Cache error: Похоже, перезапись URL Minify не работает. Убедитесь, что конфигурация сервера позволяет.htaccess. К сожалению, минификация не будет работать без пользовательских правил перезаписи. Пожалуйста, обратитесь к администратору сервера за помощью. Также обратитесь к странице установки для правил для вашего сервера. Техническая информация
Файл.htaccess содержит правила для перезаписи URL http://myurl.com/: \ Web \ Public_Test2 / wp-content / cache / minify / 000000 / w3tc_rewrite_test. Если обрабатывается плагином, он возвращает сообщение "ОК". Плагин отправил запрос на адрес http://myurl.com/: \ Web \ Public_Test2 / wp-content / cache / minify / 000000 / w3tc_rewrite_test, но получил: Время соединения истекло после 2016 миллисекунд вместо ответа "ОК".
(примечание: я отредактировал имя домена для конфиденциальности). Я считаю, что URL довольно странный, если домен находится там, но я не знаю, как изменить проверяемый URL по умолчанию. Если он идет из основного каталога, то это действительно Web/Public_Test2/wp-content/cache/minify, но там нет папки 000000.
W3 Total Cache Рекомендации
Под вкладкой установки для плагина есть примечание для людей, не использующих apache:
В случае, когда Apache не используется, файл.htaccess, расположенный в корневом каталоге установки WordPress, 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>
1 ответ
Я столкнулся с той же проблемой, и вот решение, которое работало для меня:
W3 Total Cache: версия 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, оно не сработало, и я получил 404 ошибки во всех файлах minify, создаваемых W3TC.
Я использую ручной режим минимизации и просто объединяю свои CSS и JS файлы, и это прекрасно работает. Надеюсь, это поможет кому-то.
Шансы на работу с режимом автоматической минификации очень малы, поэтому я определенно рекомендую использовать ручной режим для наибольшего шанса на успех. У меня было 3 JS-файла и 2 CSS-файла, которые я не смог объединить / минифицировать, потому что они сломали мой сайт. Ручной режим дает вам максимальный контроль, поэтому тратьте немного времени на добавление каждого файла, пока не получите его как можно лучше.