Apache 基于来自同一域的不同页面的REFERER重定向

Apache 基于来自同一域的不同页面的REFERER重定向,apache,.htaccess,http,Apache,.htaccess,Http,我正在寻找一个.htaccess解决方案,该解决方案基于同一域中特定页面的引用: 示例#1 如果用户从facebook主页单击,如: https://www.facebook.com/ 重定向到: https://www.mywebsite.com/targetpage https://www.mywebsite.com/ 示例2 如果用户从Facebook上的另一个页面单击,如: https://www.facebook.com/ads/library/?somequery.... 重

我正在寻找一个
.htaccess
解决方案,该解决方案基于同一域中特定页面的引用:

示例#1 如果用户从facebook主页单击,如:

https://www.facebook.com/
重定向到:

https://www.mywebsite.com/targetpage
https://www.mywebsite.com/
示例2 如果用户从Facebook上的另一个页面单击,如:

https://www.facebook.com/ads/library/?somequery....
重定向到:

https://www.mywebsite.com/targetpage
https://www.mywebsite.com/

使用
.htaccess
文件顶部附近的mod_rewrite尝试以下操作:

RewriteEngine On

# Link from FB homepage
RewriteCond %{HTTP_REFERER} ^https://www\.facebook\.com/$
RewriteRule !^targetpage$ /targetpage [R=302,L]

# Link from another FB page
RewriteCond %{HTTP_REFERER} ^https://www\.facebook\.com/ads/library?somequery$
RewriteRule !^$ / [R=302,L]
您需要检查我们是否已经在targetpage上,以避免重定向循环


但是,(关于HTTP引用的常见免责声明)。。。HTTP引用程序最多也不可靠。特别是在具有推荐人策略的现代浏览器中,因为推荐网站(如本例中的Facebook)可以准确控制浏览器允许发送的推荐人标题。

加上Facebook特别使用其“链接垫片”脚本将用户重定向到外部网站,明确地使用户单击链接时所在的配置文件或页面不会泄漏到外部。所以我很确定,OP想要的在这里是不可能的。