如何解决在不使用htaccess

时间:2015-10-28 21:52:15

标签: php wordpress .htaccess caching

我有一个用WordPress和Windows Plesk面板托管制作的网站。由于IIS,大多数这类托管都不支持htaccess。

我想在不使用htaccess文件的情况下解决Wordpress中的Leverage浏览器缓存。

我在下面尝试了非htaccess缓存,但网站显示的是空白屏幕。

<?php

if (isset($_GET['img'])) {$filename = $_GET['img'];}else{exit;}
$allowed = array('gif','png','jpg');
$ext = pathinfo($filename, PATHINFO_EXTENSION);
if(!in_array($ext,$allowed)) {exit;}
$stc = 31536000;
$ts = gmdate("D, d M Y H:i:s", time() + $stc) . " GMT";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($filename));
header('Content-Transfer-Encoding: binary');
header("Expires: $ts");
header("Cache-Control: max-age=$stc, public");
header("Pragma: cache");
ob_clean();
flush();
readfile($filename);
exit;
?>

1 个答案:

答案 0 :(得分:0)

您好,您可以通过以下方式在Gtmetrix中获得A级成绩。

某些托管服务提供商不喜欢htaccess,因此我更喜欢使用Hyper Cache插件,并进行所有必要的配置。

然后在Wordpress主题的header.php中添加以下内容。

<?php

$stc = 31536000;
$ts = gmdate("D, d M Y H:i:s", time() + $stc) . " GMT";
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=' . basename($filename));
header('Content-Transfer-Encoding: binary');
header("Expires: $ts");
header("Cache-Control: max-age=$stc, public");
header("Pragma: cache");
ob_clean();
flush();
exit;
?>

检查后告诉我。

谢谢!