Apache限制对通用文件的访问

我有一堆网站在同一个域名下

domain.com a.domain.com b.domain.com c.domain.com 

他们都使用相同的资源(CSS和JS),而不是让他们托pipe在每个网站上,我认为这是一个好主意,只是将其托pipe在一个地方,并在所有网站使用,所以我创build了一个额外的虚拟主机

 resources.domain.com 

这只是用来提供静态内容,但任何人都可以访问它。 并不是所有文件都托pipe在每个站点上的情况并非如此,但现在它更集中了,我想知道是否有办法保护这些文件的方式只能在需要时网站从我的域名? 比方说,用户去c.domain.com ,它需要resources.domain.com/css/base.css ,它得到了服务,但是,如果另一个anotherdomain.com试图包括这个文件在他们的文件,他们应该得到一个403响应。

我想我可以添加这样的东西到我的resources.domain.com虚拟主机,但它没有成功

 <VirtualHost *:80> ServerName resources.domain.com <Location /> Order Deny,Allow Deny from all Allow from *.domain.com </Location> ... </VirtualHost> 

我想你会比这样更好

 <Files "*"> Order deny, allow Deny from all Allow from 128.252.135. Allow from .mydomain.com Allow from host.mydomain.com 

 <Files ~ "^example\.(js|php)|robots\.txt$"> Allow from all Satisfy any </Files> 

您也可以使用.htaccess文件来达到这个目的。 如果你不能从Apache的configuration文件redirect它。 在.htaccess文件的顶部添加下面列出的行。

 Order deny,allow Deny from all Allow from 1.2.3.4 #your public IP address