我想知道如何防止热链接到我网站上的资源而不对域名进行硬编码。
我需要这个,因为该软件将用于多个域,并且可以用作安装。指示每个用户在htaccess文件中进行更改以进入其当前域是不可行的。
我遇到了很多类似的代码。但在这里你可以看到你必须输入域名。
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !www.example.com [NC]
RewriteRule \.(gif|jpg|png)$ - [F,NC]
我还从这个apache page看到了下面的片段,这似乎解决了这个问题。但出于某种原因无法让它发挥作用。
RewriteCond expr "! %{HTTP_REFERER} -strmatch '*://%{HTTP_HOST}/*'"
RewriteRule ^/images - [F]
注意:我已设置本地域名来执行测试。所以我访问我的网站mysite.local而不是localhost / mysite
有没有办法可以阻止热链接而无需在htaccess中对域名进行硬编码?
答案 0 :(得分:0)
看看2.2文档,我认为它实际上比2.4更简单。但测试肯定:
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !%{HTTP_HOST} [NC]
RewriteRule ^/images - [F]