我使用 Cloudflare 免费 CDN,因为我需要在某些区域使用 https,所以我无法在主域上激活它。因此,经过一些谷歌研究后,我发现我可以将选定的文件格式替换为网址(作为镜像/cdn),但无法使其工作。
所以基本上这就是我想要做的,当 people/website/script 请求或访问 maindomain.com/img.png 时,将其重定向到 cdn.cdn.com/img.png (其中“cdn.cdn.com”)设置在与插件域相同的文件夹中并加载相同的 htaccess)并自动提供 img.png,无需更改任何代码。这是因为 cloudflare 允许通过 CNAME 记录缓存内容,所以我想自动将 maindomain.com 替换为 CDN CNAME 记录 (cdn.cdn.com)。另外,我想知道如何使其适用于单个文件夹。
这是我测试过的一段代码
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^maindomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.maindomain\.com$
#if you want to apply to a single folder
RewriteCond ^htatest\
RewriteCond $1 "\.(jpg|png)$" [NC]
RewriteRule ^(.*) http://cdn.cdn.com/$1 [L]
</IfModule>
最佳答案
将您的规则替换为:
Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www\.)?maindomain\.com$ [NC]
RewriteRule ^(htatest/.+?\.(?:jpg|png))$ http://cdn.cdn.com/$1 [L,R=301,NC]
关于.htaccess - 将文件 url 替换为 cdn url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15858600/