迁移到新服务器后, W3 Total Cache插件不起作用,没有缓存页面或最小文件重定向,并在W3tc管理页面上显示以下错误消息:
似乎缩小URL重写无效。 如果使用apache,请验证服务器配置是否允许.htaccess;如果使用nginx,请验证配置中是否包含所有配置文件。
环境 :
- WordPress 3.4.1
- W3总缓存0.9.2.4
1 .htaccess权限
大多数情况是由“ .htaccess ”文件权限引起的,请在您的Web目录的根目录下找到此文件。
推荐的权限是644 – chmod 644 .htaccess
-rw-r--r-- 1 mkyong mkyong 9988 Aug 23 06:51 .htaccess
如果644无法正常工作,请将其更改为664 – chmod 664 .htaccess
-rw-r--r-- 1 mkyong mkyong 9988 Aug 23 06:51 .htaccess
注意
确保也将权限应用到以下目录。./wp-content/w3tc/min/.htaccess ./wp-content/w3tc/pgcache/.htaccess
PS阅读此Unix文件权限
2. Apache是否支持.htaccess?
检查您的Apache配置文件– httpd.conf
,确保将AllowOverride All
应用于您的目录。 例如,
档案:httpd.conf
<Directory "/your/web/directory">
AllowOverride All
Options None
Order allow,deny
Allow from all
</Directory>
简而言之, AllowOverride All
支持“ .htaccess ”, AllowOverride None
不支持“ .htaccess ”。
注意
如果您不知道Apache是否支持.htaccess ,请向托管服务提供商寻求帮助。
3.无效的.htaccess文件
可能是您不小心弄乱了现有的“ .htaccess ”罚款。 尝试删除现有的“ .htaccess ”文件(记住备份),创建一个新的“ .htaccess ”,然后让WordPress和W3tc插件再次编写规则。
或者,您可以下载我的“ .htaccess ”文件,然后与您的文件进行比较。
下载my-htaccess.zip (12kb)
4.规则顺序
w3tc插件正常运行,但是在“管理页面”上显示“页面缓存URL或缩小URL重写不起作用”错误消息?
上述问题是由规则顺序出现在“ .htaccess ”中引起的,请确保WordPress的规则出现在w3tc规则之后 。
.htaccess –正确!
# BEGIN W3TC Page Cache core
#...
# END W3TC Page Cache core
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
.htaccess –错误!
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
# BEGIN W3TC Page Cache core
#...
# END W3TC Page Cache core
参考文献
翻译自: https://mkyong.com/blog/w3-total-cache-page-cache-url-rewriting-is-not-working/