nuxt.js 让路由识别双斜杠

nuxt.js 让路由识别双斜杠

需求是这样的:

http://localhost/user/login 是可以正常访问的

http://localohost/user//login 是不能正常访问的

就是希望不管是在哪个斜杠后面再加一个斜杠都是可以正常访问。

目前我的想法是:
在nuxt的serverMiddleware作拦截,然后通过res.writeHead()进行跳转

但是这种做法,会有一个跳转的过程。跳转后链接就不再有双斜杠,但是我看了其他的网站,它们的链接还是带着双斜杠的。

想问一下,这个是要怎么处理的?


回答:

这个主要看服务器端怎么处理请求的path部分,可以预处理一下规范为正确的格式。

大致是这样一个思路:

  1. 对请求的路径根据需要进行标准化处理,比如这里 把所有连续多个/替换为1个/
  2. 根据规范化后的路径去路由响应处理
  3. 返回处理结果

因为 请求路径到处理 是在服务器内部完成的,也没有发生跳转,所以在客户端其实和正常请求没有区别,会获得合适的反馈信息。


回答:

你确定你看的别的网站也是 nuxt.js 直接对外提供 HTTP 服务的么……

似乎 nuxt.js 本身没提供这样的路由配置方式。

如果你前面套了一层 nginx 的话,nginx 有一个参数 merge_slashes 是控制这个特性的。

以上是 nuxt.js 让路由识别双斜杠 的全部内容, 来源链接: utcz.com/p/936564.html

回到顶部