在 Apache 上,如何允许仅访问单个文件?

在 Apache 上,如何允许仅访问单个文件?

我有一台 Apache 机器正在为一个.js文件提供服务。该文件应该是唯一需要查看的文件。

编辑:

我已经在我的 Apache 中进行了如下配置:

<VirtualHost *:7090>
        ServerAdmin [email protected]
        DirectoryIndex test.js
        DocumentRoot /var/www/test
        ServerName test.in
</VirtualHost>


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

站点地址test.in指向目录test.js中的文件/var/www/test。这样工作正常。但我希望当用户尝试访问test.in/someurl(不可用)或其他 URL时test.in,不需要显示401错误消息。

我怎么做?

答案1

Location指令匹配 URI,与文件系统上的文件不直接相关。我建议使用DirectoryFiles而是像这样:

<Directory "/var/www/test">
    Order deny,allow
    Deny from all
    <Files "test.js">
        Order allow,deny
        Allow from all
    </Files>
</Directory>

答案2

您已明确允许访问您的 test.js 文件,但您也需要禁止访问其上层文件夹。

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

相关内容