.htaccess Запрещенные здесь параметры

У меня есть это в моем .htaccess:

Параметры + FollowSymLinks

И я получаю следующую ошибку в apache error_log:

.htaccess: Options not allowed here

Вот часть моего файла httpd.conf:

#htdocs symlinks here
<Directory /Users/you/code/my/folder>
    Options All
    AllowOverride All
</Directory>

<Directory />
    Options All
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

<Directory "/Applications/XAMPP/xamppfiles/htdocs">
    Options All 
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Поэтому я везде устанавливаю Options All и AllowOverride All, но ВСЕ ЕЩЕ мне не разрешено устанавливать эту опцию. Кто-нибудь может понять это?

Спасибо, MrB


person MrB    schedule 17.08.2011    source источник


Ответы (9)


Обратите внимание, что это проблема, связанная с XAMPP. XAMPP загружает некоторые дополнительные файлы конфигурации, расположенные в XAMPP/etc/extra/, которые переопределяют httpd.conf. Для меня оскорбительный файл - это http-userdir.conf, который применяет правила для ~ запросов пользователей и содержит строку AllowOverride FileInfo AuthConfig Limit Indexes, и изменение этой строки на AllowOverride All действительно решило мою проблему.

Это применимо только к файлам, обслуживаемым из вашего каталога / Sites / в OS X. Я не знаю, использует ли версия для Windows UserDir вообще или даже имеет подобное правило.

person Eli Huebert    schedule 18.10.2011
comment
Кроме того, вы можете прочитать http://httpd.apache.org/docs/current/es/mod/core.html#allowoverride тоже. Этот документ может помочь вам определить конкретные значения AllowOverride;) - person kaleemsagard; 27.03.2014
comment
Это было полезно в сочетании с этим ответом. - person Stephen Niedzielski; 23.11.2014

в моем случае я меняю строку AllowOverride AuthConfig FileInfo на AllowOverride All в файле httpd-vhosts.conf, где этот файл находится в папке apache \ conf \ extra

person adi res    schedule 23.04.2014

Вы должны разрешить переопределение для «Опции» в контексте каталога. нет необходимости:

vhost/directory config:
    AllowOverride All

Но только для того, чтобы разрешить переопределение параметров:

    AllowOverride {Existing options to override} +Options
person enterco    schedule 25.08.2014
comment
Вы имели ввиду AllowOverride {Existing options to override} Options (без +)? - person Palo; 15.01.2019
comment
да. Мне не удалось найти ссылку на '+' на странице руководства httpd https://httpd.apache.org/docs/2.4/mod/core.html#allowoverride со ссылкой на AllowOverride. - person enterco; 16.01.2019

Я предполагаю, что в вашей конфигурации apache есть глобальная настройка AllowOverride, которая запрещает это. Можете ли вы использовать grep для AllowOverride в своем httpd.conf?

person jman    schedule 17.08.2011
comment
$ cat httpd.conf | grep AllowOverride AllowOverride Все AllowOverride Все AllowOverride Все AllowOverride Все Возможно ли, что я редактирую неправильный httpd.conf? Я редактирую его в /Applications/XAMPP/etc/httpd.conf. Как узнать, какую конфигурацию использует apache? изменить: используя правый httpd.conf, изменил файл журнала и начал входить в другой файл .. - person MrB; 17.08.2011

Я только что установил самую последнюю версию XAMPP и решил рассказать, как я решил ту же проблему.

Это особая настройка XAMPP (при каждой новой установке XAMPP). Самый последний актуальный XAMPP на сегодняшний день - XAMPP 1.8.3 имеет параметр в /xampp/apache/conf/extra/httpd-xampp.conf, который вызывает сообщение «Ошибка сервера».

И тогда вы получите следующую ошибку в журнале ошибок:

.htaccess: Options not allowed here

Откройте /xampp/apache/conf/extra/httpd-xampp.conf и найдите:

<Directory "/xampp/htdocs/xampp">
    <IfModule php5_module>
        <Files "status.php">
            php_admin_flag safe_mode off
        </Files>
    </IfModule>
    AllowOverride AuthConfig
</Directory>

и изменить

AllowOverride AuthConfig

с

AllowOverride All

После изменения не потребуется аутентификация или авторизация, ЕСЛИ вы не укажете это в своем httpd.conf, дополнительных confs или в .htaccess.

Вы также можете прочитать документацию Apache для параметра AllowOverride http://httpd.apache.org/docs/current/en/mod/core.html#allowoverride и выберите более оптимальную и безопасную настройку, которая позволит вам использовать ваш .htaccess, не вызывая ошибки сервера.

Также имейте в виду, что вы можете найти лучшее место для переписывания приведенного выше правила в зависимости от результатов, которых вы хотите достичь. В моем случае это удовлетворительное изменение.

person GTodorov    schedule 02.11.2014
comment
Спасибо за ваше объяснение. Действует до сегодняшнего дня. - person Ngatia Frankline; 11.01.2019

вместо того, чтобы изменять глобальные настройки AllowOverride в вашем основном файле httpd.conf, если у вас есть файл httpd-vhosts.conf, вы хотели бы поместить директивы AllowOverride All для конкретного каталога в каждую запись хоста, в которой он вам нужен, чтобы вы могли сохранить ограничительный набор для остальной части серверной области.

person blamb    schedule 31.05.2014

Измените Options +FollowSymLinks на Options +SymLinksIfOwnerMatch во всех экземплярах файла .htaccess, следующие символы были отключены на многих серверах из-за угрозы безопасности.

person Senthil    schedule 26.08.2014

В Debian 9 я отредактировал файл /etc/apache2/mods-available/userdir.conf

Отключена эта строка AllowOverride FileInfo AuthConfig Limit Indexes

Добавлена ​​строка Allowoverride All

И все работало нормально.

Большое спасибо всем, кто внес свой вклад

person Hamisi Jabe    schedule 19.12.2019

Отвечает ли сервер, на котором размещен ваш домен, всем требованиям, необходимым для Elgg? В частности, доступен ли mod_rewrite?

Еще раз проверьте все шаги, которые вы сделали.

Если mod_rewrite работает ... У вас есть доступ к конфигурации (http.conf) Apache на вашем сервере? Если да, добавьте следующие строки (отрегулируйте путь):

AllowOverride All

person i-Designing    schedule 14.05.2013
comment
Пожалуйста, подумайте о добавлении дополнительных сведений при упоминании Эльгга. Я считаю, что автор не упоминает эту структуру нигде в исходном вопросе. - person Blitzkoder; 19.04.2017