【问题标题】:Routed my website through Amazon-cloudfront, CSS doesn't load now通过 Amazon-cloudfront 路由我的网站,现在无法加载 CSS
【发布时间】:2020-02-09 07:00:39
【问题描述】:

我有一个 lightail-bitnami-wordpress 站点,我已通过 Cloudfront 路由该站点,因此我可以使用它的 HTTPS/SSL。一旦我设置它,我网站上的 CSS 就会停止正确加载。字体错误,间距到处都是,等等。

我在这里缺少什么?谢谢!

【问题讨论】:

  • 您可以运行打开浏览器的开发者工具来查看为什么 css 没有加载,具体的控制台选项卡或网络选项卡基于我们可以提供的帮助。

标签: css wordpress amazon-cloudfront amazon-lightsail


【解决方案1】:

您的 CSS 文件未正确加载,因为它们指向 http 而不是 https。打开 DevConsole(Chrome 的 F12)进入控制台,看看是否有任何错误。我在使用其他 CDN(如 Google Cloud CDN 和 CloudFlare)时遇到过这个问题,并且能够通过启用“Full Strict SLL”来解决它。我对 CloudFront 不熟悉,所以我搜索了一下,发现我认为可能是一个解决方案:

1. 进入您的 AWS 控制台并跳转到 CloudFront。
2. 找到您正在处理的网站。这不是很明显,因此请在 Origin 列中查找您使用的域名或 S3 存储桶名称。单击 ID 以进入该 CloudFront 分配的设置。
3. 转到“行为”选项卡,然后单击“创建行为”。你会看到已经存在一种行为(“Default / () / S3-Bucket / HTTP and HTTPS”),忽略它。
4. 在“路径模式”中,您需要为要实现的站点路径设置匹配规则。在这种情况下,我们想要整个站点,所以输入“
”。
5. 在“查看者协议政策”中,重要的工作已经完成。选择“将 HTTP 重定向到 HTTPS”。
6. 其他一切保持原样。点击保存。
7. 最后,确保这条新规则的优先级设置为“0”。这意味着它是最重要的 CloudFront 规则,它将在其他任何事情之前运行,以确保选择 HTTPS。 Source

如果它不适合您,请尝试将其添加到您的 .htaccess 文件中(如果有的话):

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

或者尝试安装启用 Strict SSL Policy 的 WordPress 插件,例如 WP Force SSL

【讨论】:

    猜你喜欢
    • 2020-10-31
    • 2019-11-04
    • 2013-03-05
    • 1970-01-01
    • 2017-11-21
    • 2014-04-30
    • 1970-01-01
    • 2018-08-07
    • 2017-02-20
    相关资源
    最近更新 更多