如何只允许访问单个文件?

时间:2012-12-10 11:18:40

标签: apache

我有一台提供.js文件的apache机器。该文件应该是唯一需要查看的文件。

我已经在我的apache中配置了这样做:

<Location /var/www/test/test.js>
    Order allow,deny
    Allow from all
</Location>

网站地址为test.in,指向test.js目录中的/var/www/test文件。这工作正常。但我希望当用户尝试点击test.in/someurl(不可用)或某个其他网址test.in时,需要提供401错误消息。

我该怎么做?提前谢谢。

1 个答案:

答案 0 :(得分:13)

您误用了<Location> - 参数应该是URL而不是目录路径...您应该使用<Directory>来获得预期的行为。

我会做这样的事情(你应该对它进行微调,它只显示原理):

# first deny access to everything
<Location />
 Order Deny,Allow
 Deny from All
</Location>

# then allow access to specific URL
<Location /test/test.js>
 Order Allow,Deny
 Allow from All
</Location>

查看Order指令以及以下一项或多项指示:LocationLocationMatchDirectoryDirectoryMatchFilesFilesMatch等等。