我的问题专门针对下面的两个页面,但也更普遍地与使用没有 .htaccess 文件的干净 URL 的方法有关。
http://www.decitectural.com/ 和 http://www.decitectural.com/about/
以上页面托管在 Amazon 的 S3 上,不允许使用 htaccess 文件。结果,我发现没有简单的方法来创建一个干净的 url 重写方案,该方案将所有请求发送到一个索引文件,然后使用 javascript 解释 URL 并加载正确的页面(使用 AJAX,或者,带有 decitectural 的案例,带有简单的 div 可见性切换)。
为了规避这个问题,我通常编辑amazon S3存储桶属性,将索引页面和错误页面都设置为index.html文件。在这种情况下,即使请求了无效路径(例如 /about/),也会提供 index.html 文件。这在很大程度上是一个有效的解决方案......也就是说,直到我意识到我也得到了一个带有 index.html 页面的 404,这将阻止谷歌对其进行索引。
这导致我寻找解决这个问题的替代方案。目前,作为临时修复,我实际上是在服务器上创建 /about/ 目录,其中包含 index.html 文件的副本。这可行,但显然不是问题的真正解决方案。
对于如何在 S3 上或在任何无法使用 .htaccess 文件的情况下设置干净的 URL 路由方案,我将不胜感激。