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