使用RewriteMap基于http_referer域的.htaccess重定向

时间:2018-07-09 22:06:35

标签: apache .htaccess redirect http-referer rewritemap

我正在尝试重定向(返回)来自垃圾邮件域的所有流量。我可以通过使用.htaccess和映射文件来执行此操作,但是不幸的是,仅当HTTP_REFERER与映射文件条目完美匹配时,此方法才有效。

地图文件(deflector.map):

spam.domain1.com/spam/index.php-

fake.domain2.com/fakesite/index1.php-

vhost.conf:

RewriteMap偏转器txt:/var/www/deflector.map

.htaccess

RewriteCond %{HTTP_REFERER} !=""
RewriteCond ${deflector:%{HTTP_REFERER}} =-
RewriteRule ^ %{HTTP_REFERER} [R,L]

RewriteCond %{HTTP_REFERER} !=""
RewriteCond ${deflector:%{HTTP_REFERER}|NOT-FOUND} !=NOT-FOUND
RewriteRule ^ ${deflector:%{HTTP_REFERER}} [R,L] 

我需要做的(但我没能做)是在我的偏转器映射中列出一个域列表,并重定向(返回)来自该域的所有流量。

偏转器映射文件示例:

domain1.com-

domain2.com-

因此,来自以下HTTP_REFERER的流量应重定向回HTTP_REFERER URL:

spam.domain1.com/spam/index.php 重定向到 spam.domain1.com/spam/index.php

domain1.com/spam/XXX/index.php 重定向到 domain1.com/spam/XXX/index.php

fake.domain2.com/fakesite/index1.php 重定向到 fake.domain2.com/fakesite/index1.php

domain2.com/fakesite/index1.php 重定向到 domain2.com/fakesite/index1.php

能否请您给我一些有关如何完成此操作的提示?

非常感谢您!

0 个答案:

没有答案