Подтвердить что ты не робот

.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 повсюду, но STILL Мне не разрешено устанавливать этот параметр. Может ли кто-нибудь понять это?

Спасибо, СМО

4b9b3361

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

vhost/directory config:
    AllowOverride All

Но только для разрешения переопределений для "Параметры":

    AllowOverride {Existing options to override} +Options

Ответ 4

Я только что установил самую последнюю версию 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, не вызывая ошибки сервера.

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

Ответ 5

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

Ответ 6

Поддерживает ли сервер ваш домен, удовлетворяющий всем требованиям, необходимым для Elgg? В частности, доступен ли mod_rewrite?

Повторно проверьте все выполненные шаги.

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

 AllowOverride All

Ответ 7

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

Ответ 8

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