【问题标题】:CDN Image Redirects (avoiding redirect loop w/ htaccess)CDN 图像重定向(避免使用 htaccess 的重定向循环)
【发布时间】:2014-09-18 12:39:57
【问题描述】:

我已在 AWS Cloudfront CDN 上启动并运行所有内容,我遇到的唯一问题是关于我的图像文件。它们都按需要显示,但旧版本不强制重定向。

例如: 图像@http://domain.com/images/image.jpg 将定向并显示在http://cdn.domain.com/images/image.jpg,但也可以访问没有子域的先前版本。

我知道这听起来有点乏味,但所有进入前一个图像的“汁液”不会进入新图像,因为它不会强制重定向。理想情况下,每当我将http://domain.com/images/image.jpg 放入浏览器中时,我都希望它重定向到http://cdn.domain.com/images/image.jpg。我在网上找到的每个修复程序都会创建一个循环,因为它不会读取domain.com 之前的内容。

我知道有一种可靠的方法可以在 htaccess 中重定向到图像文件夹中尚未重定向到 cdn. 子域的 jpeg,但我无法在网上的任何地方找到它。 我们将不胜感激。

【问题讨论】:

    标签: .htaccess redirect seo cdn


    【解决方案1】:

    尝试将此添加到 domain.com 的文档根目录

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
    RewriteRule ^(.+\.(png|gif|jpe?g))$ http://cdn.domain.com/$1 [L,R=301]
    

    【讨论】:

    • 这在第二行的 ^domain\.com 之外看起来很完美(最后是 & ],我知道这只是一个错字)。我认为这就是创建循环的原因,因为“cdn.domain.com”和“domain.com”都会被重定向。正则表达式绝对不是我的强项,但有没有办法仅在“cdn”不存在时才显式重定向?
    • 域前面的^ 确保它是匹配的开始。 cdn.domain.com 将不匹配该正则表达式
    • 我使用了您的代码并将其调整为... RewriteEngine On RewriteCond %{REQUEST_URI} !^domain\.com$ [NC] RewriteRule ^(.+\.(png|gif|jpe?g))$ http://cdn.domain.com/$1 [L,R=301] 似乎正在工作-但这对您有意义吗?我不想无意中破坏任何东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多