Как установить AllowOverride все

Я хочу установить AllowOverride all Но я не знаю, как это сделать. Я нашел следующий код в Google и вставил его в .htaccess:

<Directory>
        AllowOverride All
</Directory>

Но после вставки я начал получать "Internal Server Error"

Кто-нибудь может подсказать мне, где поставить этот код или как это сделать?

Ответ 1

Если вы находитесь на Ubuntu, отредактируйте файл /etc/apache2/apache2.conf (здесь приведен пример /var/www):

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

и измените его на;

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

то

sudo service apache2 restart

Возможно, вам понадобится сделать sudo a2enmod rewrite, чтобы включить перезапись модуля.

Ответ 2

Основная цель AllowOverride заключается в том, что менеджер основных файлов конфигурации apache (в основном найден в файле /etc/apache 2/) определяет, какая часть конфигурации может быть динамически изменена по каждому пути приложения.

Если вы не являетесь администратором сервера, вы зависите от уровня AllowOverride, который разрешает вам тезисы администраторов. Чтобы они могли предотвратить некоторые важные параметры безопасности,

Если вы являетесь главным диспетчером конфигурации apache, вы всегда должны использовать AllowOverride None и перенести все примеры google_based, которые вы найдете на основе файлов .htaccess в разделах Directory в основных файлах конфигурации. Поскольку содержимое .htaccess для файла .htaccess в /my/path/to/a/directory совпадает с инструкцией <Directory /my/path/to/a/directory>, за исключением того, что изменение конфигурации .htaccess динамического per-HTTP-запроса - это замедление вашего веб-сервера. Всегда предпочитайте статическую конфигурацию без проверок .htaccess (и вы также избегаете атак безопасности при изменениях .htaccess).

Кстати, в вашем примере вы используете <Directory>, и это всегда будет неправильно, инструкции Directory всегда содержат путь, например <Directory /> или <Directory C:> или <Directory /my/path/to/a/directory>. И, конечно, это не может быть помещено в .htaccess, поскольку .htaccess похож на инструкцию Directory, но в файле, присутствующем в этом каталоге. Конечно, вы не можете изменить AllowOverride в .htaccess, так как эта команда управляет уровнем безопасности файлов .htaccess.

Ответ 3

Перейти к your_severpath/apache_ver/conf/ Откройте файл httpd.conf в Блокноте.

Найдите эту строку:

#LoadModule vhost_alias_module modules/mod_vhost_alias.so

Удалить символ хеша:

LoadModule vhost_alias_module modules/mod_vhost_alias.so

Затем переходим <Directory />

и измените на:

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

Затем перезапустите локальный сервер.

Ответ 4

В Linux, чтобы облегчить доступ к корню документа, вы должны отредактировать следующий файл:

/etc/httpd/conf/httpd.conf

И в зависимости от того, на каком уровне каталога вы хотите расслабиться, вам нужно изменить директиву

AllowOverride None

к

AllowOverride All

Итак, если вы хотите разрешить доступ к файлам в каталоге /var/www/html, вы должны изменить следующие строки:

<Directory "/var/www/html">
 AllowOverride None
</Directory>

к

<Directory "/var/www/html">
 AllowOverride All
</Directory>

Ответ 5

Если вы используете Linux, вы можете отредактировать код в каталоге

/etc/httpd/conf/httpd.conf

Теперь, здесь найти строку кода вроде как

# 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.
#
    Order allow,deny
    Allow from all

</Directory>

Измените AllowOveride None на AllowOveride All

Теперь вы можете установить любое правило в вашем файле .httacess внутри ваших каталогов. если какая-либо другая операционная система просто попытается найти файл httpd.conf и отредактировать его.

Ответ 6

Я думаю, вы хотите установить его в свой файл httpd.conf вместо файла .htaccess.

Я не уверен, какую операционную систему вы используете, но эта ссылка на Ubuntu может дать вам несколько советов о том, что делать.

https://help.ubuntu.com/community/EnablingUseOfApacheHtaccessFiles

Ответ 7

Как объясняют другие пользователи, об использовании директивы allowoveride, которая используется для разрешения использования .htaccess. я хочу отметить, что никогда не использовать allowoverride all, если другие пользователи имеют доступ к записи .htaccess вместо этого используют allowoveride, чтобы разрешить определенные модули.

Как AllowOverride AuthConfig mod_rewrite Вместо

AllowOverride All

Поскольку модуль, например mod_mime, может отображать ваши файлы на стороне сервера в виде обычного текста.

Ответ 8

Я также встречаю эту проблему, и я нашел решение в виде 2 шагов ниже: 1. В папке с поддержкой адресов apache2, которую вы редактируете в элементе Directory, установите "AllowOverride all" (должно быть "все" не "none" ) 2. В проекте kohana в папке www переименуйте "example.htaccess" в ".htaccess"

Я сделал это на ubuntu. Надеюсь, что это поможет вам.

Ответ 9

Сервер SuSE Linux Enterprise

Убедитесь, что вы редактируете правильный файл https://www.suse.com/documentation/sles11/book_sle_admin/data/sec_apache2_configuration.html

httpd.conf

Основной файл конфигурации сервера Apache. Избегайте изменения этого файла. В нем в основном содержатся операторы include и глобальные параметры. Перезапишите глобальные настройки в соответствующих конфигурационных файлах, перечисленных здесь. Измените настройки хоста (например, корень документа) в конфигурации виртуального хоста.

В таком случае vhosts.d/*.conf необходимо отредактировать

Ответ 10

Шаг 1 перейдите в конфигурационный файл apache с помощью команды ниже

vim /etc/httpd/conf/httpd.conf

Шаг 2 изменить, приведенный ниже

<Directory "/var/www/html">
 AllowOverride None
</Directory>

в

<Directory "/var/www/html">
 AllowOverride All
</Directory>