像上面的 url 链接, 把 291537 与 291536 做为参数是如何实现的?
我所知道的在前端框架(vue.js)里面提供了路由( router )功能,对于参数的获取可以使用:id
,然后使用内部的函数$route.params.id
就可以获取到参数值。
而我现在的场景是。前后端分离,以前都是在 url 链接后跟 querystring ,使用id=1&name=test
这样的形式。然后数据通过 ajax 发送到 nginx 的转发 url 地址,例如所有以 api 为开头的 url 。譬如:http://example.com/api/user/login
,通过 nginx 转发到 upstream 服务进行数据处理。
那么问题就来了。对于 url 的数据解析。譬如上面的291537
我可以使用 js 做正则匹配获取到值。但是上面的这个 url 如何生成呢?通过 nginx 的 rewrite 模块?还是使用服务端模板的形式编译好之后发生 HTML 页面到前端?
其实整个问题通俗一点就是把http://example.com/mobile/index.html?id=1232
变成http://example.com/mobile/1232
通过阅读文章,我使用 nginx 的 rewrite 模块实现了 url 的重写即http://example.com/mobile/index.html?id=1232
变成了http://example.com/mobile/123
.但是这样虽然修改了 url ,而没有解析到 index.html.并不是我想要的
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.