我已为域定义了单个 vhost 配置(见下文)。根目录中的所有 HTML 文件均能正常使用。但我无法访问名为“icons”的特定子目录中的任何文件。
example.com/index.html或者example.com/pix.jpg工作正常,但是example.com/icons/somefile.jpg尽管文件实际上存在,但仍然出现“未找到文件错误”。
此外,当我尝试访问 example.com/icons/ 时,没有出现错误,而是显示了 apache 图标目录的文件列表!
示例.com应从/var/www/example.com/public和 example.com/icons/应从/var/www/example.com/public/icons而是目录列表/var/www/图标显示。
example.com/test/somefile.html正常工作并提供服务/var/www/example.com/public/test
另一个有趣的事情是,目录列表被禁用,但仍然显示图标目录列表,例如.com/icons。
DocumentRoot "/var/www/html"
# First, we configure the "default" to be a very restrictive set of
# features.
#
<Directory />
Order deny,allow
Deny from all
Options None
AllowOverride None
</Directory>
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example.com/public
<Directory /var/www/example.com/public>
Order allow,deny
Allow from all
</Directory>
WSGIDaemonProcess app display-name=%{GROUP} processes=2 threads=5 maximum-requests=5
WSGIProcessGroup app
WSGIScriptAlias /app /var/www/app/app.wsgi
<Directory /var/www/app>
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/www/example.com/logs/error.log
CustomLog /var/www/example.com/logs/access.log combined
</VirtualHost>
答案1
呵呵..
在 apache 配置目录中搜索/图标. 你可能会在其中一个文件中找到类似这样的内容:
Alias /icons/ "/usr/share/apache2/icons/"
在 debian/ubuntu 世界中,这是在 /etc/apache2/mods-enabled/alias.conf 中设置的
从该目录提供的文件用于 apache 生成的目录列表中的图标。只需注释掉此行并重新启动服务器。