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

Lighttpd не читает MIME-тип из файлов без расширения

У меня есть папка с изображениями, которые мне нужно разместить. Поэтому я решил использовать lighttpd.

Итак, я прочитал, что мне пришлось добавить в файл конфигурации следующую опцию:

mimetype.use-xattr = "enable"

Не сработало, при загрузке изображения оно было отправлено с application/octet-stream заголовок типа файла, и браузер загрузит его.

Я читал, что --use-attr был флагом при компиляции, поэтому я подумал, что, возможно, он был скомпилирован без него (сборка была из репозитория Ubuntu) (документация говорит, что флаг на самом деле --use-atttr но я думаю, что это ошибка опечатки, поскольку в нем говорится, что этот параметр не распознается, когда я запускаю configure).

Итак, я загрузил исходный код, скомпилировал и установил его с этим флагом:

configure --with-attr
make
make install

А вот особенности и версия lighttpd:

/usr/local/sbin/lighttpd -V
lighttpd/1.4.30-devel-2805 - a light and fast webserver
Build-Date: Oct  6 2011 10:39:46

Event Handlers:

        + select (generic)
        + poll (Unix)
        - rt-signals (Linux 2.4+)
        + epoll (Linux 2.6)
        - /dev/poll (Solaris)
        - eventports (Solaris)
        - kqueue (FreeBSD)
        - libev (generic)

Network handler:

        + sendfile

Features:

        + IPv6 support
        + zlib support
        + bzip2 support
        + crypt support
        - SSL Support
        + PCRE support
        - mySQL support
        - LDAP support
        - memcached support
        - FAM support
        - LUA support
        - xml support
        - SQLite support
        - GDBM support

Убедитесь, что расширенный атрибут на месте с attr -g Content-Typeне file. Используете ли вы файловую систему, которая поддерживает расширенные атрибуты XFS, и установлены ли они?

mimetype.use-xattr ищет расширенные атрибуты, а file идентифицирует файл с помощью магических чисел.