如何在drupal url中正确设置自定义目标

时间:2011-09-28 15:04:22

标签: php drupal drupal-6

我正试图将目的地放在这样的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

如何避免此问题?

1 个答案:

答案 0 :(得分:2)

这实际上是完全正确的,第二个?位于查询字符串标识符(即第一个?)之后,因此 进行网址编码以保持有效。

不要担心,当Drupal使用drupal_get_destination() function执行重定向时,它会对编码的字符串进行解码并重定向到正确的路径。

尝试在this online tool中添加几个不同的网址,并且当他们编码正确时,您会看到所谓的内容。