如何使用.htaccess从管理面板中删除缓存

时间:2017-09-06 09:52:21

标签: php apache .htaccess caching apc

我有一个管理面板和网站的.htaccess文件。 在我的网站中我使用apc缓存进行缓存,它在网站上工作正常, 但是在后端/管理面板中,由于缓存存在很多问题。

  

现在我不需要管理panal中的缓存,但网站我需要缓存

所以,请告诉我如何在.htaccess中为网站和管理面板编写正则表达式。

目前我在.htaccess中使用此代码

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

例如:

cache works on : www.xyz.com/
cache not works on : www.xyz.com/admin

2 个答案:

答案 0 :(得分:1)

看起来你在谈论像图像,样式表和javascript这样的资产。

假设普通部分和管理部分的资产相同,则在.htaccess文件中没有简单的方法:浏览器将请求相同的网址,无论用户是否正在访问普通页面或管理页面。

您在代码本身的管理部分可以执行的操作是使用/assets/css/style.css?v=UNIQUE_VERSION_NUMBER等唯一文件名使缓存无效。

这里唯一的版本号可能是您最新提交的哈希值,时间戳等。

答案 1 :(得分:1)

您可以使用以下代码通过缓存到特定文件夹来关闭。

<Directory "your folder path(e.g. /www/htdocs/admin)">
    ExpiresActive Off
</Directory>

希望这可以解决您的问题。