0

在我的 .htaccess 文件中,我有一组规则如下:

RewriteRule ^dir/page1$ /bleh/docs/?id=12 [L,QSA]
RewriteRule ^dir/page2$ /bleh/docs/?id=13 [L,QSA]
RewriteRule ^dir/page3$ /bleh/docs/?id=14 [L,QSA]

有时可以通过来自另一个站点(引用者)的重定向访问这些规则之一。我希望能够将引用者附加到查询字符串,如下所示:

RewriteRule ^dir/page2$ /bleh/docs/?id=13&ref=%{HTTP_REFERER} [L,QSA]

但是,这似乎不起作用。

我究竟做错了什么?

4

3 回答 3

3

如果您拼写为 HTTP_REFERER(由于编辑原因尚不清楚),那么您的操作是正确的。如果此时它不起作用,那是因为没有提供引用者。(有很多原因;提供它由浏览器自行决定。)

于 2009-07-15T15:54:41.027 回答
1

引用者的变量使用常见的拼写错误:HTTP_REFERER. 有关更多变量名称,请参阅此备忘单。

据我所知,重写的 URL 不会删除原始Referer标头,因此您仍然应该能够从代码中获取它,而无需将其作为查询字符串参数传递(前提是它可以让您访问 HTTP 变量。)

于 2009-07-15T15:53:02.467 回答
0

一种经过测试的方法,适用于我并通过 301 重定向转移推荐人。 https://webmasters.stackexchange.com/questions/4665/

于 2010-11-01T01:01:34.070 回答