Назад | Перейти на главную страницу

Apache обслуживает другой каталог

Я определил единственную конфигурацию виртуального хоста (см. Ниже) для домена. Все файлы HTML в корне обслуживаются правильно. Но я не могу получить доступ к файлам в определенном подкаталоге под названием «значки».

example.com/index.html или example.com/pix.jpg работать нормально, но example.com/icons/somefile.jpg выдает ошибку «Файл не найден», несмотря на то, что файл действительно существует.

Более того, когда я пытаюсь получить доступ к example.com/icons/, вместо получения сообщения об ошибке отображается список файлов каталога значков apache!

example.com должен служить от /var/www/example.com/public и example.com/icons/ должен служить из /var / www / example.com / public / icons но вместо этого список каталогов / var / www / icons Показано.

example.com/test/somefile.html работает и правильно обслуживает из /var/www/example.com/public/test

Еще один забавный момент: список каталогов отключен, но список каталогов значков все еще отображается для example.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 admin@example.com
     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>

хе-хе ..

поиск в каталоге конфигурации apache для / значки. вы, вероятно, найдете в одном из файлов что-то вроде:

Alias /icons/ "/usr/share/apache2/icons/"

в мире debian / ubuntu это устанавливается в /etc/apache2/mods-enabled/alias.conf

файлы, обслуживаемые из этого каталога, используются для значков в списках каталогов, сгенерированных apache. просто закомментируйте эту строку и перезапустите сервер.