如何将已转换的URL路由到具有氮的模块

时间:2011-01-29 14:04:36

标签: internationalization erlang nitrogen

我以前用英语开发,但这次,我正在建设的webApp只适用于我所在城市的人们。

在氮气中,当你调用“/ user / login”时,氮气调用user_login:main()。 当请求为“/ utilisateur / connexion”时,我希望使用氮气来调用user_login:main()。

我希望在请求为“/ annonces / personnes”等时使用氮气来调用ads_people:main()。

有没有办法正确实现?

非常感谢!

2 个答案:

答案 0 :(得分:2)

您可以使用Nitrogen的named_route_handler插件轻松完成此操作。步骤是:

  1. 在调用氮气之前插入以下行:run():

    wf_handler:set_handler(named_route_handler, get_routes()).
    
  2. 添加get_routes / 0功能:

    get_routes() -> [
        {"/utilisateur/connexion", user_login},
        {"/annonces/personnes", annonces_persons},
        etc...
    ].
    

    元组中的第一个元素是URL中的路径,第二个元素是相应模块的名称,它将处理具有此类路径的请求。

答案 1 :(得分:0)

在氮气之前使用代理nginx进行这种URL重写。

另外,如果你想用纯氮气做,请查看src / handlers / route / named_route_handler.erl中的一些文档