Vercel.json重定向regex以匹配除文件之外的任何内容



我正在使用Vercel托管一个网站,并希望创建一个重定向,该重定向将匹配除根或文件之外的任何路由。

我当前的vercel.json如下所示:

{
"redirects": [{ "source": "/:anything", "destination": "/" }]
}

这会匹配所有路径并重定向到根目录,但也会匹配文件(这些文件都存储在根文件夹中(。

所需的行为是:

example.com>无重定向

example.com/foo>example.com

example.com/bar>example.com

example.com/ANYTHING_THAT_ISNT_A_FILE>example.com

example.com/foo.js>无重定向

example.com/bar.css>无重定向

example.com/ANYTHING_THAT_IS_A_FILE.ext>无重定向

大多数框架都支持自定义404页面。当找不到请求的页面时,您可以使用它重定向回主页。

只需添加一个包含以下内容的404.html文件:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="refresh" content="0; URL=https://example.com" />
</head>
</html>

此404页面的内容将重定向到example.com


或者,如果找不到请求的页面,您可以配置routes以307临时重定向响应。

vercel.json中添加以下内容:

{
"routes": [
{ "handle": "filesystem" },
{
"src": "/(.+)",
"status": 307,
"headers": { "Location": "/" }
}
]
}

相关内容

  • 没有找到相关文章

最新更新