我在一个使用random()twig 的网站上有一个页面,在Firefox和Chrome中它被禁止工作,因为它会在页面加载后立即缓存.
有没有办法通过Apache配置关闭特定文件的缓存,让我们调用它default.html甚至更好只是关闭该文件的脚本部分的缓存,但保持缓存图像文件?
我试过.htaccess但这不起作用.
目前允许脚本工作的唯一方法是通过PHP头关闭全局缓存:
<?php
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Cache-Control: no-store, no-cache, must-revalidate');
header('Cache-Control: post-check=0, pre-check=0', FALSE);
header('Pragma: no-cache');
?>
Run Code Online (Sandbox Code Playgroud)
但是因为我只需要关闭单个页面的缓存,所以关闭所有内容似乎都很疯狂.
我的.htaccess文件中有一些用于干净 URL 的重写规则,并且我的网页中还需要 AJAX 调用。由于重写规则,我在处理 ajax 文件请求时遇到问题。这是我的 htaccess 文件内容:
Options -MultiViews
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteBase /~mavili/loran/orders/
RewriteRule ^(.*)$ index.php?route=$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
当我做这样的事情时:
$.ajax({
type: 'get',
url: 'http://domain.com/misc/page.php',
success: function(data) {
$('#load_content').html(data);
},
error: function() {
$('#load_content').html('Error: Unable to load file.');
}
});
Run Code Online (Sandbox Code Playgroud)
的请求http://domain.com/misc/page.php通过了 htaccess 重写规则并弄乱了一切。有什么方法可以阻止 AJAX 调用通过 htaccess 设置吗?