nuxt.js 让路由识别双斜杠
需求是这样的:
http://localhost/user/login 是可以正常访问的
http://localohost/user//login 是不能正常访问的
就是希望不管是在哪个斜杠后面再加一个斜杠都是可以正常访问。
目前我的想法是:
在nuxt的serverMiddleware作拦截,然后通过res.writeHead()进行跳转
但是这种做法,会有一个跳转的过程。跳转后链接就不再有双斜杠,但是我看了其他的网站,它们的链接还是带着双斜杠的。
想问一下,这个是要怎么处理的?
回答:
这个主要看服务器端怎么处理请求的path部分,可以预处理一下规范为正确的格式。
大致是这样一个思路:
- 对请求的路径根据需要进行标准化处理,比如这里 把所有连续多个
/
替换为1个/
- 根据规范化后的路径去路由响应处理
- 返回处理结果
因为 请求路径到处理 是在服务器内部完成的,也没有发生跳转,所以在客户端其实和正常请求没有区别,会获得合适的反馈信息。
回答:
你确定你看的别的网站也是 nuxt.js 直接对外提供 HTTP 服务的么……
似乎 nuxt.js 本身没提供这样的路由配置方式。
如果你前面套了一层 nginx 的话,nginx 有一个参数 merge_slashes
是控制这个特性的。
以上是 nuxt.js 让路由识别双斜杠 的全部内容, 来源链接: utcz.com/p/936564.html