防止文件&直接访问的目录,但仅允许来自您的主域

时间:2016-06-08 08:59:43

标签: apache .htaccess mod-rewrite hotlinking

我在单个服务器上托管了3个域(前端,后端,资产),并且特定目录/assets/上的所有资产文件都指向http://assets.mydomain.com/

我想阻止用户直接访问我的文件和目录,并允许我的所有其他域访问这些文件。我用谷歌搜索了很多使用.htaccess并设置deny all的解决方案,但我认为这不适用于我的情况。

2 个答案:

答案 0 :(得分:1)

Order

的例子
  

在以下示例中,example.org域中的所有主机都被允许访问;所有其他主机都被拒绝访问。

Order Deny,Allow
Deny from all
Allow from example.com

这排除了除您自己的域(example.com)之外的所有主机。

当您有权访问主配置时,您也可以使用Directory

将其限制为特定目录
 <Directory /path/to/assets>
...
</Directory>

如果没有,请将OrderDenyAllow指令放在资产目录中的.htaccess文件中。

答案 1 :(得分:-1)

这对我有用

SetEnvIf Referer "^http://yourdomain.com/" letitpass
Order Deny,Allow
Deny from all
Allow from env=letitpass

我将此代码放在.htaccess的根目录中,即/assets/的{​​{1}}