【问题标题】:A redirect Script that Carries out the Full URL path of the previous page执行上一页完整 URL 路径的重定向脚本
【发布时间】:2013-11-29 18:12:52
【问题描述】:

我想知道这是否可能......我正在处理这个流程

用户在“现在询问”(http://domain.com/ask-now/)页面并点击“询问”链接,他将被重定向到“redirect.php”,而“redirect.php”将重定向到answer.php,但网址的answer.php 必须带有http://domain.com/ask-now/ 的完整url 像这种形式http://domain.com/answer.php/?ask=http://domain.com/ask-now/

并且每次用户在我网站上的任何网页上单击“询问”时,他们都会始终重定向到 http://domain.com/answer.php/?ask=( THE FULL PATH URL WHERE THEY CAME FROM )

有人可以帮帮我吗? :)


按照 Kumar 的要求进行流程更新。感谢小伙伴的帮助。

详细版本

我有一个网站http://domain.com/。该网站有很多页面http://domain.com/page1/ --- http://domain.com/(and son on) LOT!每个页面都有一个锚文本“ASK”,链接到http://domain.com/redirect.phpredirect.php将重定向到http://domain.com/answer.php

我想要的是http://domain.com/answer.php 将携带用户来自的上一页的完整路径url。并显示这样的网址 http://domain.com/answer.php/?ask=(THE FULL PATH WHERE THE USER CAME FROM)

示例:用户来自http://domain.com/page100/,他点击链接ask,现在重定向到answer.php,他现在在answer.php页面上,他会看到上面的完整网址是http://domain.com/answer.php/?ask=http://domain.com/page100/

我觉得我解释的很好..

谢谢库马尔。希望你能解决这个问题!

【问题讨论】:

标签: php url redirect url-rewriting


【解决方案1】:

在redirect.php中添加这个逻辑

if($_SERVER["HTTP_REFERER"]=="http://domain.com/ask-now/"){
    $location="http://domain.com/answer.php/?ask=".$_SERVER["HTTP_REFERER"];
    header("Location: $location");
}

你可以根据你的要求改变你的逻辑。

【讨论】:

  • 您好 Kumar 感谢您的回复,但您能写下整个 redirect.php 吗?我不知道在哪里添加您提供的代码....我有一个非常基本的重定向脚本,我从搜索中获得...另外我想知道您提供的代码是否也在我的 wordpress 网站上的其他页面上工作。我对此持怀疑态度if($_SERVER["HTTP_REFERER"]=="http://domain.com/ask-now/"){ 我认为仅适用于http://domain.com/ask-now page
  • 我更新了它。请检查上面。谢谢库马尔希望你能解决它:)
【解决方案2】:

只需将当前用户的页面保存到 COOKIE 或他的 SESSION 中,稍后再获取。我建议这样,因为 HTTP_REFERER 并不总是被传输。

例如:

  1. 用户访问http://domain.com/ask-now/,php-script设置cookie,保存当前页面url。之后它会重定向 到 answer.php:

setcookie('ask_page', $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"], time() + 3600, /'); header("位置:/answer.php");

  1. 在 answer.php 中,您将从 cookie 获取上一页:

回声 $_COOKIE['ask_page'];

【讨论】:

  • 您好 Dmitry,您能详细说明一下这是如何工作的吗?请连同代码一起?我对这些东西真的很陌生。
  • 非常感谢 dmitrtry,但我还是不明白。把那个 setcookie 的东西放在哪里?谢谢大家...也许我真的需要在这种事情上雇用某人...感谢您的努力。我很感激。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-01
  • 2011-11-08
  • 2010-10-12
  • 2010-12-21
相关资源
最近更新 更多