3

我有以下问题:我使用保存引用 URL 的脚本。我希望这个 URL 指向我自己的 URL 之一。因此,假设用户访问页面http://example.com/page1我想将该 URL 重写为http://example.com/page2并保护该页面上的引用者。

我不想使用 PHP 脚本来执行此操作,否则每次我想跟踪新的引用者时都必须扩展该脚本。我已经尝试过这些重写规则:

RewriteRule ^page1$ /page2 [R=301,QSA,NC]
RewriteRule ^page1$ /page2 [L,R=301,QSA,NC]

重写工作,但缺少请求参数引用。我是否必须使用除 301 之外的其他状态代码,还是在我的重写中有任何其他错误。甚至可以在重写规则中设置引用者吗?

4

2 回答 2

2

使用R标志会导致外部重定向。如果您只想进行内部重写,请省略R标志:

RewriteRule ^page1$ /page2 [QSA,NC]
于 2010-06-26T21:39:33.113 回答
0

不限于任何类型的重定向,即使是可能覆盖引用者的重定向,您仍然可以通过将引用者显式传递给新 http_referer 参数来保留引用者:

RewriteRule ^page1$ /page2?http_referer=%{HTTP_REFERER} [NC]

国旗解释:

  • [NC]- 不区分大小写的匹配。
于 2021-10-12T02:56:53.980 回答