0

我有以下 apache 配置:

 <VirtualHost *:80>

    ServerName someUrl

    DocumentRoot /usr/local/upload
 </VirtualHost>

这可行,但可以访问所有内容。该目录中有图片。是否可以制作它,以便需要确切的 URL 才能访问?

例如:

 http://someUrl.com/image.jpg

将允许您查看图像,但是:

 http://someUrl.com/

会给405。

4

2 回答 2

1

您需要禁用目录上的索引。您的配置将如下所示:

<VirtualHost *:80>

    ServerName someUrl

    DocumentRoot /usr/local/upload
    <Directory /usr/local/upload>
        Options -Indexes
    </Directory>
</VirtualHost>

这将为您提供403 Forbidden目录请求的标准响应。

于 2013-04-11T20:23:48.293 回答
1

不知道为什么你想要一个“ 405 Method Not Allowed ”错误,但一种方法是使用mod_rewrite的R标志:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L,R=405]
于 2013-04-11T20:25:05.613 回答