2017-09-06 93 views
0

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

现在我不需要管理员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 
+0

难道你不能把一个单独的htaccess文件内的管理目录? –

+0

@ axel.michel这只适用于驻留在admin目录内的文件。 '.htaccess'文件中提到的资产可能位于其他地方,并且可能 - 两个部分(admin/non-admin)都是相同的。 – jeroen

+0

我的文件/目录结构如果不同,我正在使用symfony框架(php) –

回答

1

它看起来像你说的是像图片,样式表和javascript资产。

假设正常部分和管理部分的资产相同,在您的.htaccess文件中没有简单的方法做到这一点:浏览器将请求相同的URL,无论用户是否访问普通页面或一个管理页面。

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

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

1

您可以通过下面的代码通过缓存关闭到一个特定的文件夹。

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

希望这可能会解决您的问题。

相关问题