为什么导航到带有双斜杠的路径会导致 404?

问题描述 投票:0回答:1

routes/api/[...url].ts
我有这个文件:

import { Handlers } from "$fresh/server.ts";
export const handler: Handlers = {
  GET(_req, ctx) {
    return new Response(ctx.url.href);
  },
};

如果我导航到

localhost:8000/api/A/B
,它工作正常。根据我的理解,文件名
[...url].ts
应该是正确的
,并且带有双斜杠的URL是有效的,所以我希望
localhost:8000/api/A//B
也应该有效。但结果却是404。为什么会这样呢?

我的目标是构建一个 CORS 代理,因此 URL 中应该有一个双斜杠,例如

http://localhost:8001/api/https://example.com/

url path cors http-status-code-404 freshjs
1个回答
0
投票

Fresh升级到1.6.8解决了状态码问题,但URL仍在处理中。不要使用

ctx.url.href
,而是使用
req.url
来获取原始 URL。
ctx
是具有接口
FreshContext
的自定义对象,而
req
是具有接口
Request
的本机对象。

© www.soinside.com 2019 - 2024. All rights reserved.