PHP 代码确定用户是否被 301 重定向到我的网站

标签 php mod-rewrite url-rewriting http-headers http-status-code-301

PHP 是否可以知道用户是否已被 301 重定向到我的网站?

因此,在 myoldsite.com 中,我的 .htaccess 文件中有一个 301 重定向到 mynewsite.com

我可以在 mynewsite.com 中放置一些 PHP 代码来识别用户何时被 301 重定向吗?如果是这种情况,我只需要它来显示特定消息。

非常感谢您的指点:-)

最佳答案

我相信通过 301 重定向 HTTP_REFERER字段将包含原始引荐来源网址:

  • 用户在地址栏中输入 oldsite.com,301 重定向到 newsite.com
    • 引荐来源=“”
  • 用户正在访问 3rdparty.com,点击指向 oldsite.com 的链接,然后 301 重定向到 newsite.com
    • referer =“3rdparty.com”

此行为对于 301 重定向来说有些意义。

解决方案:我认为您应该在 301 响应中添加一个查询字符串参数,例如 ref=oldsite并在您的新网站上检查其值(value)。

如果您担心 URL 中包含查询字符串参数,您可以告诉搜索引擎忽略特定的查询字符串参数。该过程因搜索引擎而异。显然有一个适用于所有主要搜索引擎的技巧: <link rel="canonical"> 标签。示例:

  • http://newsite.com/?ref=oldsite
    • http://newsite.com/
  • http://newsite.com/?ref=oldsite&page=main
  • http://newsite.com/?page=main&ref=oldsite
    • http://newsite.com/?page=main

关于PHP 代码确定用户是否被 301 重定向到我的网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9496522/

相关文章:

php - 如何将 Ajax 查询与 Silex 结合使用?

php - 单击“提交表单”按钮后重新加载时显示隐藏的 div

php - WordPress 插件中的 wp_rewrite

.htaccess 重定向添加尾部斜线

apache - 更改 Cookie 域

php - .htaccess 中的基本 URL

asp.net - 无法使用 URL 重写出站规则更改 IIS 响应代码

php - 如何在ubuntu中安装simplehtmldom

php - 需要 PHP 代码来从数据库中选择大于 5 但不大于 15 的数字(意味着所有大于 5 的数字,不包括 15)?

ASP.NET:如何从 URL 中删除文件 name.aspx