如何使用氮将翻译后的 URL 路由到模块
我曾经用英语进行开发,但这次,我正在构建的网络应用程序仅适用于我所在城市(法国)的人们。
在氮中,当你调用“/user/login”时,氮会调用user_login:main()。 我希望在请求为“/utilisateur/connexion”时,氮能调用 user_login:main() 。
我希望在请求为“/annonces/personnes”等时,氮气能够调用 ads_people:main() 。
有没有办法正确实现这一点?
非常感谢!
I used to develop in English, but this time, the webApp i'm building is only for people in my city, which is in France.
In nitrogen, when you call "/user/login", nitrogen calls user_login:main().
I would like nitrogen to call user_login:main() when the request is "/utilisateur/connexion".
I would like nitrogen to call ads_people:main() when the request is "/annonces/personnes", etc.
Is there a way to achieve that properly ?
Many thanks !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以使用 Nitrogen 的named_route_handler 插件轻松完成此操作。步骤是:
在调用 Nitrum:run() 之前插入以下行:
添加 get_routes/0 函数:
元组中的第一个元素是 URL 中的路径,第二个是将处理具有该路径的请求的相应模块的名称。
You can do this easily by using Nitrogen's named_route_handler plugin. Steps are:
Insert following line before call to nitrogen:run():
Add get_routes/0 function:
First element in a tuple is the path in URL and the second is the name of the corresponding module which will handle requests with such path.
在 Nitrogen 前面使用代理(例如 nginx)来进行这种 URL 重写。
或者,如果您想在纯氮气中进行操作,请查看 src/handlers/route/named_route_handler.erl 中的一些文档
Use a proxy in front of Nitrogen like nginx to do that kind of URL rewriting.
Altrernatively, check out some of the documentation in src/handlers/route/named_route_handler.erl if you wanted to do it in pure nitrogen