【问题标题】:CDN Related : Rewrite Image URLs automatically from .htaccessCDN 相关:从 .htaccess 自动重写图像 URL
【发布时间】:2012-01-07 06:50:09
【问题描述】:

最近我买了一个 CDN 并设置了它。在我的站点中,图像存储在一个名为“images”的文件夹中,并且图像 url 显然是以这种方式链接的。 (*例如:images/some_image.png*)

由于我想以正确的方式使用 CDN,我需要重写 url,而无需手动更改每个图像路径。

我尝试了一个针对类似问题建议的 .htaccess 代码

RewriteEngine On
RewriteBase /
RewriteRule ^images/(.*)$ http://cdn.mydomain.com/$1 [L,R=301]

但这似乎无法正常工作,因为所有图像都未正确链接。

所以我想知道这段代码的变化。任何回应将不胜感激。

【问题讨论】:

  • 您的网址是否重定向到 http://cdn.mydomain.com/some_image.png 以及您希望它们重定向到哪里,即您的意思是它们没有正确链接?
  • 试试RewriteRule ^(images/.*)$ http://cdn.mydomain.com/$1 [L,R=301]。但是,如果每个图像都需要 2 个 http 请求来下载,那么 CDN 有什么用呢?一个返回 301,一个用于实际资源。您确实需要更改 html,以提高速度,并减少常规网络服务器上的流量/负载。
  • @Gerben 谢谢。这解决了问题。我明白你对双 http 请求的看法。将直接更改html。
  • @UlrichPalha 他们没有正确显示。图像以异常方式链接。就像 1 与 2 和 2 与 4 相关联。无论如何,正如 Gerben 建议的那样,将手动更改它。

标签: image .htaccess rewrite cdn


【解决方案1】:

这应该可行:

RewriteCond %{HTTP_HOST} ^yourdomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.yourdomain\.com$
RewriteRule ^images\/?(.*)$ "http\:\/\/cdn\.yourdomain\.com\/$1" [R=301,L]

但是,请注意,这只是一个临时解决方案!
为了最大限度地利用 CDN,您需要手动将图像指向您的 CDN,以便为每个图像保存一个 HTTP。

【讨论】:

    猜你喜欢
    • 2014-04-07
    • 2013-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多