【问题标题】:htacess rewrite require www with cloudfront CDN supporthtaccess 重写需要带有 cloudfront CDN 支持的 www
【发布时间】:2014-06-25 01:23:11
【问题描述】:

我在 htaccess 中有这两行需要 www.*

<IfModule mod_rewrite.c>
    RewriteEngine On
    #require www
    RewriteCond %{HTTP_HOST} ^oisie\.com
    RewriteRule ^ http://www.oisiecom%{REQUEST_URI} [L,R=301]
</IfModule>

我正在添加 Amazon Web Services (AWS) CloudFront CDN,但由于 301 重定向,它无法正常工作。

如果我直接去

http://XXXXXXXXX.cloudfront.net/img/preloader.gif

我被重定向到我网站的真实域,例如oisie.com

当请求来自 *.cloudfront.net 时如何错过 www.* 重定向?

您可以在http://www.oisie.com/en查看详细信息

【问题讨论】:

  • XXXXXXXXX.cloudfront.net如何通过这条规则重定向到www.oisiecom,因为重写条件只是重定向oisie.com
  • 也许 cloudfront 从 oisie.com 而非 www.oisie.com 请求 css/gif/js 文件,然后它会被重定向。这就是我在这里问这个问题的原因。我不知道。我所知道的是,该站点没有云端 URL,我发现这可能是因为 www 重定向。
  • 可以注释掉这条规则,重新测试。
  • 已经试过了,不用www重写

标签: .htaccess mod-rewrite redirect amazon-web-services amazon-cloudfront


【解决方案1】:

我遇到了同样的问题,我在 .htaccess 中使用以下重定向规则修复了它:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^sitename.com$
RewriteRule ^(.*)$ http://www.sitename.com/$1 [R=301]

【讨论】:

    【解决方案2】:

    我已经忘记了这个问题,但我已经解决了这个问题。我不记得确切的步骤,我做了什么,但现在我有一个用于静态内容的子域 - js、css 等。它指向与普通域相同的目录。例如:

    http://s.oisie.com/img/oisie.png
    

    与 url 相同

    http://www.oisie.com/img/oisie.png
    

    在 Cloudfront 配置中,我使用的是 s.oisie.com 域,它工作正常。

    所以解决方案: 为静态域创建虚拟主机,将由云端使用并在云端配置(在 AWS 控制台)中使用。

    希望有帮助! :)

    【讨论】:

      猜你喜欢
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 1970-01-01
      相关资源
      最近更新 更多