Symfony 如何在小树枝中使用url_编码和returnTo
我有一个条件,即用户必须通过邮件中收到的链接进行验证。我在url中添加了一些url编码数据 实际的url是这个链接 mysite.net/register/api/login?returnTo=/register/verify my email?key=ac26hbasjdbjhhabsdjh683746f7be3c3b816db8abd1fe1b8&value=nxjwl3h8ldshbfjsdhbfjshd8716yp9p9kj71o2bqfkzuaiktfmv2l3s&lang=en-US 我希望returnTo部分是url_编码的,以便用户首先登录。我试着在电子邮件模板中使用它Symfony 如何在小树枝中使用url_编码和returnTo,symfony,url,character-encoding,twig,urlencode,Symfony,Url,Character Encoding,Twig,Urlencode,我有一个条件,即用户必须通过邮件中收到的链接进行验证。我在url中添加了一些url编码数据 实际的url是这个链接 mysite.net/register/api/login?returnTo=/register/verify my email?key=ac26hbasjdbjhhabsdjh683746f7be3c3b816db8abd1fe1b8&value=nxjwl3h8ldshbfjsdhbfjshd8716yp9p9kj71o2bqfkzuaiktfmv2l3s&lang=en-US
{% set siteUrl = 'mysite.net' %}
{% set returnToPath = '/register/verify-my-email'|url_encode %}
{% set verifyMyEmailUrl = siteUrl ~ "/register/api/login?returnTo=" ~ returnToPath ~ "?" ~ {
'key': script.TOKEN_KEY,
'value': script.TOKEN_VALUE,
'lang': script.PREFERRED_LANG,
}|url_encode %}
访问时的url首先进入登录,但登录后,url变成此链接
mysite.net/register/api/%252f注册%252f验证我的电子邮件%253Fkey=AC26HBASJDHBJHABSDJH683746F7BE3C3B816DB8ABD1FE1B8
register/api/login没有被register/verify my email正确替换,而且后面的url编码参数也没有正确附加
我想在登录后的url如下所示
mysite.net/register/verify my email?key=AC26HBASJDHBJHABSDJH683746F7BE3C3B816DB8ABD1FE1B8&value=NXJWL3H8LDSHBFJSDHBFJSHD876816YP9P9KJ71O2BQFKZUAIKTFMV2L3S&lang=en-US
有人能在这方面帮我吗,因为我对细枝和电子邮件模板设计一无所知。此问题通过以下解决方案解决
{% set siteUrl = 'mysite.net' %}
{% set registerVerifyEmailRedirectUrl = '/register/verify-my-email?' ~ {
key: scriptData.TOKEN_KEY,
value: scriptData.TOKEN_VALUE,
lng: scriptData.PREFERRED_LANG,
}|url_encode %}
{% set encodedVerifyMyEmailUrl = siteUrl ~ "/register/api/login?returnTo=" ~ registerVerifyEmailRedirectUrl|url_encode %}
最好在PHP代码中执行所有数据操作,然后将这些操作后的值传递给twig。@AndyPreston不完全正确,这就是为什么在PHP代码中有过滤器twig@DarkBee我到底做错了什么?只应用
url\u encode
参数