Apache 维护HTTP引用程序

Apache 维护HTTP引用程序,apache,redirect,http-referer,Apache,Redirect,Http Referer,我在Apache服务器上设置了一些重定向。他们看起来有点像这样: 重定向/Name/register/login.html 我的问题是。。。通过此重定向是否仍有保留HTTP引用的方法?在默认情况下,Apache似乎会丢弃这些信息。如果重定向完成后推荐人说: 有人认为这是可能的吗?如果没有,考虑另一种选择 非常感谢,, Neil重定向将不会保留推荐人,因为浏览器会发送一个301和一个要打开的新地址。从: Redirect指令通过请求客户端在新位置重新提取资源,将旧URL映射到新URL 而且(我认

我在Apache服务器上设置了一些重定向。他们看起来有点像这样:

重定向/Name/register/login.html

我的问题是。。。通过此重定向是否仍有保留HTTP引用的方法?在默认情况下,Apache似乎会丢弃这些信息。如果重定向完成后推荐人说:

有人认为这是可能的吗?如果没有,考虑另一种选择

非常感谢,,
Neil

重定向
将不会保留推荐人,因为浏览器会发送一个301和一个要打开的新地址。从:

Redirect指令通过请求客户端在新位置重新提取资源,将旧URL映射到新URL


而且(我认为)可以直接重写(即不引起浏览器重定向),并将保留引用者。使用mod_rewrite,如果愿意,您甚至可以将referer作为GET参数添加到请求中。

这是浏览器问题,而不是apache问题。你对此无能为力。这样做是为了防止某些安全问题和推荐人垃圾邮件


在请求开始时,您始终可以将原始referer存储在管道变量中,而只需从那里拉取它。

我创建了另一种方法,通过301重定向传输referer。
我相信这一切都取决于你如何编写规则。 它可以根据您提供的标志充当“重定向”或“重写”

1.重新使用 302将被发送到浏览器,它将启动另一个请求(请参阅启用“持久化”选项的Firebug):

2.重写 浏览器不会启动302重定向,因为我们不发送此类标头,但它会屏蔽内容:

RewriteCond %{REQUEST_URI} !/index.html
RewriteRule ^(.*)$ /index.html [L]
在此选项中,如果有人访问“page.html”,他将看到“index.html”的内容,而不是“page.html”,但上面的URL仍将显示“page.html”

好的维护页面等。。。不确定登录页面。。。但这是另一个值得考虑的选择


在我的具体案例中,“RewriteRule”与“Alias”之间的主要区别在于,重写可以在.htaccess中设置,而“Alias”则不能。。。因此,并非总是可以使用别名…

这不是OP的问题。问题是referer(由客户端传输)在重定向过程中丢失,这就是我所说的。还是我没有指出
Redirect
指令使用HTTP重定向?不管怎样,你的答案更好。啊,我现在明白了。我认为您不理解这个问题,并且提到了一些浏览器和安全套件根本不发送referer字符串的事实。我道歉!谢谢你的澄清。我有一种感觉是这样的,我想这将是这一次的修改路线。
RewriteCond %{REQUEST_URI} !/index.html
RewriteRule ^(.*)$ /index.html [L]