利用Wordpress的浏览器缓存和登录问题

时间:2017-02-06 18:53:49

标签: wordpress .htaccess caching optimization browser-cache

由于我并不想使用Wordpress插件来利用浏览器缓存,因此我参考了下面的文档,在htaccess文件中编写了一些代码。

leveraging browser caching guide

我的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

Header unset Pragma
FileETag None
Header unset ETag

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>
## EXPIRES CACHING ##

现在我已成功利用浏览器缓存,我正在浏览我的Wordpress网站,看看它是否运行良好。然后我发现登录有问题。

我登录了wordpress,点击了关于我们的其他网页&#39;页面,它显示我没有登录。我点击登录页面重新登录,它突然显示我已登录。现在我访问其他页面,如&#39; home&#39;页面,它再次显示我没有登录。

似乎缓存阻止我保持登录某些页面,例如主页,aboutus和contactus页面。当我点击登录,myaccount页面等动态页面时,它显示我已登录。

我正在尝试从哪里开始解决此问题。我在wordpress网站上使用这些插件; contactform,woocommerce,learndash等 我没有使用任何类型的缓存插件,例如w3 total cache。

1 个答案:

答案 0 :(得分:0)

我想我发现了为什么会这样:

ExpiresByType text/html "access 1 month"

=&GT;为html内容设置expire标题显然缓存了我的html页面,它搞乱了登录功能。我删除了这个。

ExpiresDefault "access 1 month"

=&GT;我也删除了这个,所以我的html默认情况下1个月没有缓存。

当我删除上面的两行时,问题就解决了。