我有以下apache配置:
<VirtualHost *:80>
ServerName someUrl
DocumentRoot /usr/local/upload
</VirtualHost>
这可行但可以访问所有内容。该目录中有图片。是否可以使其成为访问权限所需的确切URL?
例如:
http://someUrl.com/image.jpg
允许您查看图像,但是:
http://someUrl.com/
会给出405。
答案 0 :(得分:1)
您需要禁用目录上的索引。您的配置如下所示:
<VirtualHost *:80>
ServerName someUrl
DocumentRoot /usr/local/upload
<Directory /usr/local/upload>
Options -Indexes
</Directory>
</VirtualHost>
这将为您提供目录请求的标准403 Forbidden
响应。
答案 1 :(得分:1)
不确定为什么你想要一个“ 405 Method Not Allowed ”错误,但是一种方法是使用mod_rewrite的R
标志:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L,R=405]