假设您在旧代码库上运行的旧网站提供某些功能.后继网站已启动并运行,提供所有旧功能和更多功能.有一段时间,旧网站上有一个指向新网站的HTML链接,供那些关心点击的用户使用.
现在,旧网站已达到使用寿命,您希望自动将用户重定向到新网站,例如通过301或302重定向.但是,当用户遇到此重定向时,您还希望在新站点上显示友好消息,欢迎他们并解释他们为什么没有看到旧版本.
当用户单击HTML链接时,将填充HTTP_REFERER标头,并且可以通过该值触发欢迎消息.但是,使用3XX重定向代码时似乎不是这样.
针对此问题的Google热门话题有:"HTTP 1.1规范明确说明:如果给出了3XX代码,则不会传递任何Referer值.(最终,指向3XX站点的URL)." (http://www.usenet-forums.com/apache-web-server/37811-how-set-referer-redirect.html#post145986)
但是我在快速阅读规范(http://tools.ietf.org/html/rfc2616)中找不到这个陈述.
任何人都可以建议实现此功能的正确方法吗?
注意:这并不是一个包罗万象的解决方案.我们知道有些客户端甚至不会出于隐私原因发送HTTP_REFERER标头,但为了争论,让我们忽略该用例.
首先,这应该是301,而不是302重定向.您的重定向是永久性的,因此您需要指明这一点.至于如何指示重定向,只需在网址中添加parm即可.而不是重定向到http://www.newsite.com
重定向到http://www.newsite.com?FromOldSite=Y