1

Кому-нибудь здесь удалось заставить FancyIndexing работать в Apache 2.4? - Я нашел много руководств, но все они устарели как минимум на 5-9 лет и не работают с Apache 2.4.

Согласно документации, FancyIndexing входит в mod_autoindex (который включен по умолчанию), и все, что требуется для его работы на самом базовом уровне - это Options +Indexes в блоке каталога, например:

<Directory "/var/www">
        #
        # Possible values for the Options directive are "None", "All",
        # or any combination of:
        #   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
        #
        # Note that "MultiViews" must be named *explicitly* --- "Options All"
        # doesn't give it to you.
        #
        # The Options directive is both complicated and important.  Please see
        # http://httpd.apache.org/docs/2.4/mod/core.html#options
        # for more information.
        #
        Options Indexes FollowSymLinks

        #
        # AllowOverride controls what directives may be placed in .htaccess files.
        # It can be "All", "None", or any combination of the keywords:
        #   Options FileInfo AuthConfig Limit
        #
        AllowOverride None

        #
        # Controls who can get stuff from this server.
        #
        Require all granted
</Directory>

Проблема в том, что он не работает: если у меня есть пустая страница индекса ...

# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.htm
</IfModule>

... страница индекса переопределяет индексацию или:

# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex disabled
</IfModule>

... вызывает отображение веб-страницы-заполнителя Apache по умолчанию, как и простое удаление страницы индекса.

Я должен также упомянуть, что я пытаюсь достичь индексного представления моего веб-каталога, чтобы избежать необходимости создавать беспорядок связанных страниц. - Сайт задуман как ресурсный сайт, поэтому посетители могут просто перейти непосредственно к странице или к ресурсу, который они хотят, без суеты. Кроме того, на данный момент FancyIndexing не является абсолютно необходимым, так как я должен иметь возможность «обновиться» до этого, когда у меня будет работать индексирование.

================================================== =====================

Это дополняет мои комментарии и является дополнительным ответом на ответ Анаксунамана с моими собственными заметками и наблюдениями:

Найдите директиву LoadModule для autoindex_module в httpd.conf и убедитесь, что она не закомментирована:

LoadModule autoindex_module modules/mod_autoindex.so

Да, я включил это, как можно видеть ниже:

# Dynamic Shared Object (DSO) Support
#
# To be able to use the functionality of a module which was built as a DSO you
# have to place corresponding `LoadModule' lines at this location so the
# directives contained in it are actually available _before_ they are used.
# Statically compiled modules (those listed by `httpd -l') do not need
# to be loaded here.
#
# Example:
# LoadModule foo_module modules/mod_foo.so
#
Include conf.modules.d/*.conf
LoadModule autoindex_module modules/mod_autoindex.so

Убедитесь, что индексы добавлены в директиву Options в блоке Directory для вашего DocumentRoot. В вашем случае ваша директива Options выглядит нормально, например:

Опции Индексы FollowSymLinks

Не совсем: есть (на Cent OS / RHEL / Red Hat / Fedora, по крайней мере) отвратительная ошибка в виде /etc/httpd/conf.d/welcome.conf. - Запись Options -Indexes должна быть изменена либо на Options Indexes, либо на Options +Indexes, в противном случае индексация не будет работать, и клиенту будет отказано в конфигурации сервера: / var / www type error в файле журнала.

В httpd-autoindex.conf убедитесь, что:

В вашей директиве IndexOptions указан список FancyIndexing, например, IndexOptions FancyIndexing HTMLTable VersionSort.

Alias /icons / указывает на правильный каталог для ваших значков, например, Alias /icons / "/ path / to / Apache24 /icons /"

Блок каталога для вашего пути к значку использует тот же путь, что и псевдоним / значки / например

В этом больше нет необходимости, поскольку все теперь предварительно сконфигурировано (по крайней мере, для базового индексирования и модного индексирования) с блоком IndexOptions для добавления дополнительных параметров конфигурации.

1 ответ1

1

Обратите внимание, что, как указано Y Treehugger Cymru:

  • За исключением шага 4 (раскомментирование записи, например, для httpd-autoindex.conf), элементы, перечисленные на каждом шаге ниже, обычно уже включены по умолчанию, вероятно, с правильными значениями.

  • Точные имена и расположение файлов, содержащих каждую соответствующую запись, могут несколько отличаться в зависимости от вашего распространения Apache (например, «httpd-autoindex.conf» может быть, например, «autoindex.conf»).

  • Что касается шага 2, то для дистрибутивов на основе Red Hat (CentOS/RHEL/Fedora и т.д.), По-видимому, также необходимо Options -Indexes в /etc/httpd/conf.d/welcome.conf либо на Options Indexes либо Options +Indexes . В противном случае индексирование, очевидно, не будет работать правильно.


Чтобы заставить FancyIndexing работать в Apache 2.4:

  1. Найдите директиву LoadModule для autoindex_module в httpd.conf и убедитесь, что она не закомментирована:

    LoadModule autoindex_module modules/mod_autoindex.so
    
  2. Убедитесь, что Indexes добавлены в директиву Options в блоке Directory для вашего DocumentRoot . В вашем случае ваша директива Options выглядит нормально, например:

    Options Indexes FollowSymLinks
    
  3. Использование блока dir_module по умолчанию должно быть хорошо (вам не нужно это отключать), например:

    <IfModule dir_module>
        DirectoryIndex index.htm
    </IfModule>
    
  4. Найдите в конце httpd.conf директиву Include для httpd-autoindex.conf и убедитесь, что она не закомментирована:

    Include conf/extra/httpd-autoindex.conf
    
  5. В httpd-autoindex.conf убедитесь, что:

    • Ваша директива IndexOptions имеет FancyIndexing перечислены , например , IndexOptions FancyIndexing HTMLTable VersionSort

    • Alias /icons/ указывает на правильный каталог для ваших значков, например, Alias /icons/ "/path/to/Apache24/icons/"

    • Блок Directory для вашего пути значков использует тот же путь, что и Alias /icons/ например, <Directory "/path/to/Apache24/icons/">

После выполнения этих шагов перезапустите сервер и удалите / переименуйте все индексные файлы в каталогах, в которых вы хотите отобразить FancyIndexing .

Пример результатов

ех. Обычное индексирование Apache

Не причудливая индексация

ех. FancyIndex Apache Indexing

Необычное индексирование

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .