2013-04-07 52 views
1

我使用Cloudflare免费CDN,因为我需要在某些区域使用https,所以我无法在主域上激活它。因此,经过一些谷歌研究,我发现我可以将选定的文件格式替换为url(作为镜像/ cdn),但无法使其工作。.htaccess - 将文件url替换为cdn url

所以基本上这就是我想要做的,当人/网站/脚本请求或访问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> 

回答

2

这个替换您的规则一个代码:

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]