我目前正在开发一个主要使用JavaScript (JS) 历史的网站。
现在的问题是,这个历史记录使用URL的路径名。因此,例如,如果我使用S3作为静态托管,并且第一次请求类似于www.example.com/ root的URL,S3将将其重定向到/about文件夹,而不是加载根(www.example.com),并让JS处理/about。当然,这种行为在静态托管的情况下是绝对正常的,所以很棘手。
我只是想知道它是否可能在我的情况下起作用,使用S3,其中每个基于根的链接(www.example.com/)总是引用根网站吗?简而言之,我期望S3会忽略路径名。因此,如果我请求www.example.com/about,它将只加载位于www.example.com/index.html中的index.html,同时保留URL (www.example.com/about)。
如果这一点还不清楚,请考虑一下JS的location.hash (#)。浏览器在向静态web服务器发出请求时将忽略该哈希,然后当web加载时,其中包含的JS将处理给定的哈希。因此,我的情况完全可以通过在URL中使用"#“来解决,但这一次我想使用一个干净的URL,它没有"#”。
谢谢你的帮助。:)
发布于 2013-09-14 09:48:27
没有办法让S3忽略路径,只返回根文件(index.html)。最接近这一点的是使用一个捕获所有请求的错误文件,但是尽管它会加载您的HTML,但它总是返回一个404状态。
如果不想使用URL参数,则可以使用路径而不是散列,如下所示:
www.yoursite.com/?folder/page.html
这将导致在浏览器中加载站点的索引文件。
https://stackoverflow.com/questions/18799076
复制相似问题