2012-04-11 21 views
1

场景:我需要编写的301'd到会话变量的URL

我有一个链接是

example/directory/go.php 

我301重定向链接到

example/go.php 

我使用会话变量来跟踪用户的路径。没有把任何变量在url中,是有办法,我仍然可以跟踪用户去

example/directory/go.php 

或者说打算去那里,但显然是301'd到

example/go.php? 
会议

现在,当我的var_dump我的会话变量,它总是显示他们参观了作为

example/go.php. 

我的猜测意义,因为它正在用mod_rewrite的重定向的最后一页,但我只是tryi如果无论如何我仍然可以在会话变量中或通过其他方式看到重定向的链接。

回答

1

使用mod_rewrite,您可以将一个包含前一个URL的cookie设置为一个值,然后在最终的PHP脚本中获取该cookie值。

+0

这听起来很合理,但我该怎么做呢?有没有办法让php知道链接正在被重写,然后将它写入session/cookie?或者这是我必须在htaccess中做的事情?谢谢您的帮助。 – absentx 2012-04-11 19:44:56

+0

因为301重定向发生在.htaccess中,所以它只能在.htaccess中。 [请参阅官方mod_rewrite指南在这里和搜索cookie](http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html) – anubhava 2012-04-11 19:49:18

+0

好吧,所以我有我的重写规则[CO = tracker :是:example.com:1000:/。现在,我如何使用我的PHP脚本访问该cookie? – absentx 2012-04-11 20:04:45