【发布时间】:2021-07-20 12:11:36
【问题描述】:
我正在构建一个静态网站,该网站使用 JS 解析 URL 以便确定要显示的内容。
我需要每个 URL 来实际打开 index.html,JS 可以在其中拉开路径并采取相应措施。
例如http://my.site/action/params 将被解析为带有一些参数params 的action。
背景,这将通过 CloudFront 使用自定义错误重定向从 AWS S3 提供 - 这在 AWS 上运行良好。
但是,我正在尝试在运行 apache 的 Ubuntu 下构建开发环境,并希望在本地模拟重定向。
我发现有几页很接近,但并不完全。
This page 展示了如何重定向到服务器上的自定义错误页面,该页面位于名为“404”的文件中。由于404 是实际的错误响应代码,该示例看起来有点混乱,我无法将示例修改为指向 index.html。
已接受答案中的示例表明:
Redirect 200 /404
ErrorDocument 404 /404
我已经修改为:
Redirect 200 /index.html
ErrorDocument 404 /index.html
但是这会返回一个标准的404 Not Found 错误页面。
如果我删除 Redirect 行,只留下 ErrorDocument 行,我会根据需要返回 index.html 页面,但 https 状态响应仍然是 404 代码,我需要它是200.
如果我按照示例离开 Redirect 行,我实际上得到的结果与我的修改版本相同,所以我怀疑这是不正确的行,但我无法弄清楚。
(我正在使用 Chrome 开发工具控制台查看状态代码等)。
【问题讨论】:
标签: apache .htaccess http-headers