2009-01-27 26 views
0

我mod_rewrite我的页面非常类似于它。我有www.example.com/users/login/它将在内部使用users.login.php作为控制器。我想传入一个参数作为页面重定向到登录完成后。你如何将重定向URL传递到mod_rewritten页面

如果你在你与一个非常奇特的看着URL结束了,因为你逝去的东西像questions/相对URL传递,它看起来像users/login/questions/,而不是login.php?redir=questions.php

有没有人有这可怎么有任何意见或解决方案能够很好地解决问题,而不会严重污染URL?我认为这样处理它的方式是将登录表单置于“Ask Question”页面。我想这是一个解决方案,但我正在寻找其他的可能性。

编辑:看起来好像使用$_SERVER['HTTP_REFERER']是迄今为止最好的解决方案。有没有理由不使用它?我意识到你可以伪造引荐人,但会实际上造成任何损害?

回答

3

我在包含url的登录表单中使用隐藏字段,它适用于我。你也可以尝试。

  1. 创建隐藏的输入字段。
  2. 将输入字段的值设置为$referer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
  3. 获取发布的网址并将用户重定向到该网址。

注意:并不总是设置HTTP_REFERER。

+0

虽然这并不能真正解决我的问题。我将如何将这些数据提供给登录页面? – 2009-01-27 18:20:41

+0

您有一个默认值,否则将数据添加到将用户发送到登录页面的页面中。 – 2009-01-27 18:45:38

+0

谁说我首先有表格? – 2009-01-27 18:55:49

0

为什么不使用像/users/login/?r=/questions/这样的URL?或者,如果您不想使用该URL来获取返回地址,则可以使用HTTP引用来源。

相关问题