使用mod_rewrite RewriteRule将引用者传递给查询字符串

时间:2011-11-28 17:21:10

标签: mod-rewrite apache2

我正在尝试捕获refuring网址或完整的HTML链接 即, “(http.bbserver.edu/john_doe/quiz.doc)” 并将其发送到PHP脚本。

我已经完成了以下

的工作
REWRITERULE ([^/]+)/([^/]+)$ login.php?referer=%{HTTP_REFERER}&path=$0&folder=$1&file=$2 [NC,L]

但是php文件打印出来

Referer:
path: John_Doe/quiz.doc
folder: John_Doe/quiz.doc
file: quiz.doc

如果我尝试这个,尝试获取所有内容并将其发送到php脚本。

REWRITERULE ^(.+)$ login.php?referer=%{HTTP_REFERER}&path=$0&folder=$1&file=$2 [NC,L]

但是php文件打印出来了。

Referer:
path: login.php
folder: login.php
file:

我想捕获“HTTP_REFERER”并通过php解析子文件夹和文件。 但是我没有得到我需要的信息。

1 个答案:

答案 0 :(得分:0)

您确定正在设置HTTP_REFERER吗?通常情况下,如果您在HTTP代理后面,则不会。尝试打印$_SERVER['HTTP_REFERER']的值,如果正在设置,则该值还应包含HTTP引荐来源的值。

如果您在代理服务器后面并且需要推荐人,则可以使用mod_rpaf,并从HTTP_X_FORWARDED_FOR获取推荐人。