.htaccess - 允许对某些URL的请求&如果推荐人等于,则阻止所有其他人

时间:2014-06-17 15:40:54

标签: .htaccess mod-rewrite

如果引荐来源等于,例如,siteb.com,我需要阻止对我网站的所有请求。除非请求的网址等于mysite.com/pagex/?random-variable

因此,如果引荐来源是siteb.com并且请求的URL不是mysite.com/pagex/?random-variable,则我的.htaccess文件应该阻止请求,否则应该允许它通过。如果推荐人不是siteb.com,则不应该做任何事情。

我已经达到了这个目标:

RewriteEngine on
# Options +FollowSymlinks
RewriteCond %{HTTP_REFERER} siteb\.com [NC]
RewriteRule .* - [F]

然而,当引用者是siteb.com时,它只会阻止所有请求。当引荐来源是siteb.com时,我需要允许对mysite.com/pagex/?random-variable的请求

1 个答案:

答案 0 :(得分:1)

您可以在规则中添加一个条件以允许/pagex/?random-variable

RewriteEngine on
# Options +FollowSymlinks

RewriteCond %{HTTP_REFERER} siteb\.com [NC]
RewriteCond %{THE_REQUEST} !/pagex?random-variable [NC]
RewriteRule ^ - [F]