【发布时间】:2018-08-22 01:41:32
【问题描述】:
我使用 Hexo 作为我的网站 codefoster.com 的静态站点生成器,并使用别名插件生成重定向,这样我就可以创建像 codefoster.com/slug 这样的短链接。
别名生成以下...
html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Redirecting...</title>
<link rel="canonical" href="https://1drv.ms/p/s!AvStLR7eqJbDyaZpnDDMJvbGtLrI5w">
<meta http-equiv="refresh" content="0; url=https://1drv.ms/p/s!AvStLR7eqJbDyaZpnDDMJvbGtLrI5w">
</head>
</html>
一个例子是我最近在 VS Code 上做的一个演示。我将别名 /deck/codeyourcode 添加到我的 _config.yml 和 URL codefoster.com/deck/codeyourcode 现在正确生成重定向。
我的问题是重定向在 Edge 中有效,但在 Chrome 中它会触发文件下载。如何让 Chrome 导航到重定向 URL?
--- 添加于 2018 年 3 月 26 日 ---
我还没有完成这项工作,但我已经缩小了范围。我网站上的每个链接都不是application/octet-stream。这只是我重定向的那些(通过我的 Hexo 静态站点生成器的alias extension)到一个驱动器共享。此外,仅当我从 HTTP 重定向到 HTTPS 时。
所以我想我现在的最终问题是如何做一个
所以http://codefoster.com/deck/codeyourcode 重定向到 HTTPS URL 并失败,而 http://codefoster.com/codechat/071 重定向到 HTTP URL 并且它有效。如果您使用curl 和-v,您会看到HTTP 生成text/html,而HTTPS 生成application/octet-stream。
这很可能是设计使然,但除了让 codefoster.com 通过 HTTPS 工作之外,我如何完成我想要做的事情?
--- 更多编辑 ---
我可以将s 从别名中删除,但它仍然失败,所以这不是因为它专门针对 HTTPS 协议,而是它实际上是在查看重定向 URL 并 确定由于某些未知原因,它应该是application/octet-stream。
【问题讨论】:
-
您使用的是什么网络服务器?它没有响应
Content-Type标头;我很惊讶它可以在 Edge 中使用。 -
@ZebMcCorkle 对我来说,它实际上是用 application/octet-stream 内容类型响应的。将其更改为 text/html 应该可以解决问题。
-
谢谢,我认为我们在正确的轨道上。我正在使用 Express 提供静态文件,并将它们作为 application/octet-stream 提供。我只需要弄清楚如何改变它。
-
@JeremyFoster 只是好奇,你有没有设法解决这个问题?如果是这样,也许您可以回答自己的问题来帮助他人。
-
我还没有得到这个工作。我在原始问题中添加了更多信息。
标签: html google-chrome http web