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