我正试图将目的地放在这样的drupal路径中:
http://myhost/root-folder/node/100/delete?destination=node/150?nid=300
在drupal术语方面有点不寻常,但这是我的要求。
当我访问上面的网址时,它会显示一个删除按钮和一个取消链接。但是当我点击取消链接时,重定向的页面网址就像这样:
http://myhost/root-folder/node/150%3Fnid%3D300
而不是
http://myhost/root-folder/node/150?nid=300
即。 myhost
= localhost
这意味着它将?
替换为代码%3F
,将=
替换为%3D
。
如何避免此问题?
答案 0 :(得分:2)
这实际上是完全正确的,第二个?
位于查询字符串标识符(即第一个?
)之后,因此 进行网址编码以保持有效。
不要担心,当Drupal使用drupal_get_destination()
function执行重定向时,它会对编码的字符串进行解码并重定向到正确的路径。
尝试在this online tool中添加几个不同的网址,并且当他们编码正确时,您会看到所谓的内容。