我正在开发一个镜像网站(人们可以在其中下载文件,有点像 FTP)。我想知道如何使用 CloudFlare 来帮助减少带宽使用。我有一个带有 mod_rewrite 的镜像网站,所以当用户访问http://www.example.com/xyz/file.zip时,它会被重定向到http://www.example.com/download.php?path= xyz&file=file.zip增加下载次数并输出“file.zip”。这是重写规则:
RewriteRule ^(.*)/((.*)(.zip))$ /download.php?path=$1&file=$2
我想知道如果我在这个网站上使用 CloudFlare,它是否会导致 .htaccess 文件无用和 PHP 代码无用?
基于此页面,Cloudflare 不缓存 zip 文件。如果 zip 文件占用了您的大部分带宽,CloudFlare 不会为您节省太多。
您在上面提供的 RewriteRule 不执行重定向。对于重定向,您需要类似规则
[R]
或[R=301]
规则之后的内容。如果您发现竞争服务确实为您缓存 zip 文件,则重定向可能是实现这两个目标的正确方法。向下载器发送一个链接到
http://www.example.com/xyz/file.zip
您当前正在做的事情(保留有 PHP 文件服务于此页面的重写),但让 PHP 发回重定向(HTTP 302 或 303 响应代码)将它们发送到http://www.example.com/realpath/file.zip
. 然后,他们的客户将对该 URL 发出新请求,并实际获取该文件。