只允许来自特定推荐人的用户(重定向其余部分)- HTACCESS
Only allow users from specific referrer (redirect the rest) - HTACCESS
我一直试图阻止所有试图查看 .php 页面但未来自我的特定跟踪 link 的人的访问。
我希望如果它们不是来自我的 link,它们将被重定向到另一个网站。
我尝试使用 .htaccess 方法如下:
RewriteEngine On
RewriteBase /
# allow these referers to passthrough
RewriteCond %{HTTP_REFERER} ^http://subdomain.domain.com
RewriteRule ^ - [L]
# redirect everything else
RewriteRule ^ http://anotherDomain.com/ [R,L]
这是因为 http://subdomain.domain.com 是一个重定向到 website.php 的跟踪 url 但它似乎不起作用,尽管有任何引荐来源网址,甚至输入 url 对于 website.php 直接在工具栏中将用户带到 website.php。
我要实现的是只有来自subdomain.domain.com的用户才能看到website.php
提前致谢。
您可以使用 order deny,allow
做到这一点,将其放入您的 .htaccess:
order deny,allow
deny from all
allow from subdomain.domain.com
这将拒绝所有人访问,除非他们通过 subdomain.domain.com
访问
然后要重定向不是来自 subdomain.domain.com
的用户,您可以使用:
RewriteCond %{HTTP_HOST} !^www\.subdomain.domain\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://www.example.com/ [L,R,NE]
对于 Apache 2.4:
您可以使用 IF 指令,因为您使用的是 2.4:
<If "%{HTTP_HOST} != 'www.subdomain.domain.com'">
Redirect / http://www.example.com/
</If>
并为 order deny,allow
添加以下内容:
<Limit GET>
</Limit>
tl;博士
RewriteEngine On
RewriteCond "%{HTTP_REFERER}" "!your-valid-referer.example.com"
RewriteRule ^.*$ - [F]
详情
RewriteCond
- 比较:
"%{HTTP_REFERER}"
- 请求时的当前 referer;反对:
"!your-valid-referer.example.com"
- 有效的引用者;如果不是:
RewriteRule ^.*$
- 不管是什么;
[F]
- 不要访问它。分配一个 HTTP 状态代码 403
又名 Forbidden
.
OP 案例
RewriteEngine On
RewriteCond "%{HTTP_REFERER}" "!subdomain.domain.com"
RewriteRule ^ http://anotherDomain.com/ [R,L]
我一直试图阻止所有试图查看 .php 页面但未来自我的特定跟踪 link 的人的访问。
我希望如果它们不是来自我的 link,它们将被重定向到另一个网站。 我尝试使用 .htaccess 方法如下:
RewriteEngine On
RewriteBase /
# allow these referers to passthrough
RewriteCond %{HTTP_REFERER} ^http://subdomain.domain.com
RewriteRule ^ - [L]
# redirect everything else
RewriteRule ^ http://anotherDomain.com/ [R,L]
这是因为 http://subdomain.domain.com 是一个重定向到 website.php 的跟踪 url 但它似乎不起作用,尽管有任何引荐来源网址,甚至输入 url 对于 website.php 直接在工具栏中将用户带到 website.php。
我要实现的是只有来自subdomain.domain.com的用户才能看到website.php
提前致谢。
您可以使用 order deny,allow
做到这一点,将其放入您的 .htaccess:
order deny,allow
deny from all
allow from subdomain.domain.com
这将拒绝所有人访问,除非他们通过 subdomain.domain.com
然后要重定向不是来自 subdomain.domain.com
的用户,您可以使用:
RewriteCond %{HTTP_HOST} !^www\.subdomain.domain\.com [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^/?(.*) http://www.example.com/ [L,R,NE]
对于 Apache 2.4:
您可以使用 IF 指令,因为您使用的是 2.4:
<If "%{HTTP_HOST} != 'www.subdomain.domain.com'">
Redirect / http://www.example.com/
</If>
并为 order deny,allow
添加以下内容:
<Limit GET>
</Limit>
tl;博士
RewriteEngine On
RewriteCond "%{HTTP_REFERER}" "!your-valid-referer.example.com"
RewriteRule ^.*$ - [F]
详情
RewriteCond
- 比较:"%{HTTP_REFERER}"
- 请求时的当前 referer;反对:"!your-valid-referer.example.com"
- 有效的引用者;如果不是:RewriteRule ^.*$
- 不管是什么;[F]
- 不要访问它。分配一个 HTTP 状态代码403
又名Forbidden
.
OP 案例
RewriteEngine On
RewriteCond "%{HTTP_REFERER}" "!subdomain.domain.com"
RewriteRule ^ http://anotherDomain.com/ [R,L]