Используйте следующий, действительно хитроумный набор правил…
RewriteMap deflector txt:/path/to/deflector.map
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]
… в связке с соответствующим ассоциативным массивом преобразований:
##
## deflector.map
##
http://www.badguys.com/bad/index.html -
http://www.badguys.com/bad/index2.html -
http://www.badguys.com/bad/index3.html http://somewhere.com/
Это автоматически перенаправит запрос назад на ссылающуюся страницу (когда «-
» используется в качестве значения в массиве) или на конкретный URL (когда в массиве в качестве значения указан какой-либо URL).