[英]Only allow users from specific referrer (redirect the rest) - HTACCESS
我一直在試圖阻止所有試圖查看 .php 頁面而不來自我的特定跟蹤鏈接的人的訪問。
我希望如果它們不是來自我的鏈接,它們會被重定向到另一個網站。 我嘗試使用 .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,但它似乎不起作用,盡管有任何引用,甚至直接在工具欄中鍵入 website.php 的 url 都在使用用戶到 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/$1 [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>
RewriteEngine On
RewriteCond "%{HTTP_REFERER}" "!your-valid-referer.example.com"
RewriteRule ^.*$ - [F]
RewriteCond
- 做一個比較:"%{HTTP_REFERER}"
- 請求時的當前引用者; 反對:"!your-valid-referer.example.com"
- 有效的引用者; 如果不是:RewriteRule ^.*$
- 不管它是什么;[F]
- 不要訪問它。 分配一個 HTTP 狀態代碼403
aka Forbidden
。RewriteEngine On
RewriteCond "%{HTTP_REFERER}" "!subdomain.domain.com"
RewriteRule ^ http://anotherDomain.com/ [R,L]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.