【问题标题】:Need to host the blog along with the main site in the same S3 bucket需要将博客与主站点一起托管在同一个 S3 存储桶中
【发布时间】:2018-09-05 07:03:49
【问题描述】:

我们的主网站(在 React 中)由 S3 存储桶提供服务。由于出于 SEO 目的,我们还需要从同一域(即 mainsite.com/blog)为博客(在 jekyll 中)提供服务,因此我们将博客的文件包含在同一个 S3 存储桶中的一个名为 blog 的单独文件夹中。 现在在主站点中,我们添加了一个锚标记来引导用户访问博客。

<a className="ml-nav-item" href="blog/index.html" target="_blank" rel="noopener noreferrer">
                   Blog
                 </a>

但不是在博客文件夹中加载 index.html 文件,而是在主站点中加载相同的 index.html。 如果我们直接尝试访问 mainsite.com/blog,它会毫无问题地加载。问题是尝试从主站点访问博客时。 我们没有使用任何路由器。

我该如何解决这种情况?

【问题讨论】:

    标签: reactjs amazon-s3 routes jekyll web-hosting


    【解决方案1】:

    在您的问题中,它也在那里自我回答。因为对于 blog/index.html 没有路由。当请求通过您的第一页到达 S3 存储桶级别时,它将尝试查找路由。它可能无法识别 blog/index.html,这就是它重定向到您的主站点 index.html 页面的方式。我猜你已经给出了错误页面作为你的 index.html。我的意思是在配置静态网络托管时,您将错误页面作为 index.html。

    要解决此问题,您可以尝试提供 blog/index.html href 的上下文路径。

    【讨论】:

    • 你是说我将 blog/index.html 添加到错误页面吗?它不起作用。 :(
    • 否,如果您将 blog/index.html 页面添加为错误页面,如果出现任何错误,它将重定向到那里。我是说添加something.s3bucket/blog/index.html
    • 试过你说的。但是没有用。还有其他解决方法吗?
    猜你喜欢
    • 2018-02-01
    • 2022-01-20
    • 2020-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-28
    • 1970-01-01
    相关资源
    最近更新 更多