在 Netlify 中重写 .html 文件

Rewrite .html files in Netlify

我正在尝试将 /abc.html 之类的模式重写为 /search?xyz=abc。 'abc' 可以是任何东西。

我已经阅读了 https://www.netlify.com/docs/redirects/

中的文档

这是我现在的 _redirect 文件中的内容,但它似乎不起作用。请帮忙。

/*.html         /search?xyz=:splat        200

免责声明:我为 netlify 工作

我们的 redirects functionality 无法进行这样的重写。 slugs (/blog/:year/:month/:day/:title) 和星号 (/assets/*) 等占位符仅作为完整路径组件进行匹配 - 即 URL 或 "everything after this / including files in subdirectories" 中斜杠之间的内容。

这不是一个不常见的功能请求,但我们的系统现在不能那样工作。

实现类似目标的一些方法:

  1. 通常您不打算重定向现有路径。 This portion of the docs 表明标准重定向 (/articles/* /search?xyz=:splat 301) 会将所有丢失内容的请求重定向 - /articles/1 或 /articles/deep/link/that/was/tpyoed.html - 到 /search路径名的 xyz 参数。这并不完全符合您的要求 - 但它可能是最接近的事情,您可以希望在 /search 页面中适当地处理路径。如果您在 /articles 下有任何内容,这些内容仍将被提供,并且不会被重定向,因为您没有在重定向上放置 ! 来强制它。

  2. 如果你有一个单页应用程序,它自己进行路由并使用 history pushstate redirect 你可以让路由器为你的内容做正确的事情,因为通常只有一个。html 您网站上的页面和任何其他路径都将被重定向到它(路由器会接管您提供的任何智能)