如何在Yesod中更改子网站的URL?

Ale*_*esi 7 haskell yesod

是否可以在Yesod中重命名子网站的端点?

例如,我不想使用yesod-auth提供的/ login/ email/register,而是将它们称为"/ entrar"和"/ cadastrar"(分别是他们的PT-BR对应物).

我设法做到这一点的唯一方法是设置我stack.yaml使用修改后的本地副本yesod-auth,但我想知道是否有更好的方法.

小智 2

目前,YesodAuth数据类型不提供更改这些路由的方法,因此据我所知,您有两个选择:

  1. 拥有一个本地副本yesod-auth并根据您的需要进行修改(您知道自己在做什么)

  2. 拥有您想要的路由config/routes以及每个路由的处理程序,该处理程序将重定向到yesod-auth路由:

配置/路线

/entrar MyauthEntrarR GET
Run Code Online (Sandbox Code Playgroud)

src/Handler/Myauth

getMyauthEntrar :: Handler Html

getMyauthEntrar = redirect LoginR
Run Code Online (Sandbox Code Playgroud)