【问题标题】:How to detect a page redirect?如何检测页面重定向?
【发布时间】:2011-10-19 21:18:27
【问题描述】:

如果用户来自特定链接,我的页面应该显示略有不同。

即 正常页面是example.com/foo

如果有人点击指向example.com/foo-bar 的链接,我希望它重定向到example.com/foo,这可以通过 .htaccess 文件中的以下行来完成:

Redirect permanent /foo-bar /foo


我打算然后使用以下 javascript 来确定用户来自哪个页面:

<script type="text/javascript"> 
document.write(document.referrer);
</script> 

如果用户从网站上的正常链接转到/foo,它会打印出引荐来源网址。但是,如果他们点击了指向 /foo-bar 的链接,它会打印出带有链接的页面的 URL,而不是我需要的 /foo-bar 地址。


有没有办法将一个 URL 重定向到另一个 URL,并在重定向到的页面上检测到这一点?


(请注意,页面上的内容差异并不重要,因此如果 1% 关闭 javascript 的用户在转到 /foo-bar 时会看到错误的内容,这不是问题。)

【问题讨论】:

    标签: javascript .htaccess redirect


    【解决方案1】:

    将您的重定向代码更改为:

    Redirect permanent /foo-bar /foo#redirected
    

    然后在 /foo:

    if( window.location.hash == 'redirected' ) {
        ...
    }
    

    【讨论】:

    • 谢谢,看来这是继续的方法。
    • 恐怕不得不撤销接受您的回答。已经注意到,在 IE8 中,它会在 # 之后删除所有内容。
    • @Jonathan 然后通过查询字符串参数执行:例如/foo?ref=redirected)
    猜你喜欢
    • 2011-02-02
    • 2011-02-22
    • 1970-01-01
    • 2018-12-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多