Htaccess настройки: Файл htaccess — где находится, как настроить перенаправление (редирект), запретить доступ к сайту по ip, убрать www

Содержание

Создание и настройка .htaccess — Виртуальный хостинг

Общие сведения

.htaccess — это конфигурационный файл веб-сервера Apache, который позволяет задавать различные настройки для работы веб-сервера, применяемые для конкретных каталогов пользователя.

Параметры, указанные в .htaccess, не затрагивают настройки главного конфигурационного файла Apache и имеют силу только для каталога, в котором этот файл размещен, и его подкаталогов. Для подкаталогов также можно создавать дополнительные .htaccess-файлы; при этом необходимо учитывать, что настройки .htaccess, заданные в подкаталоге, переопределят настройки, назначенные для него в файле .htaccess, размещенном на уровне выше.

Настройки в .htaccess задаются различными директивами, которые далее обрабатываются и выполняются веб-сервером. С помощью .htaccess можно настраивать перенаправления, управлять опциями PHP, устанавливать разрешения и права доступа к файлам, задавать собственные страницы ошибок и выполнять множество других действий.

Создание и редактирование .htaccess

Создать файл настроек .htaccess вы можете при помощи файлового менеджера панели управления аккаунтом.

  1. Перейдите в раздел «Файловый менеджер» панели управления.
  2. Выберите пункт меню «Файл» — «Новый файл».
  3. Выберите из списка расширений .htaccess.
  4. Нажмите кнопку «Создать файл».

Возникновение ошибки «Имя уже используется» означает, что данный файл уже создан в текущей директории.

Для редактирования файла в файловом менеджере перейдите в директорию с данным файлом, выделите его кликом левой кнопки мыши и выберите пункт меню «Файл» — «Редактировать».

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

Вы также можете редактировать . htaccess во внешних редакторах, но обратите внимание, что текстовые редакторы Windows (например, «Блокнот») при сохранении любых документов с кодировкой UTF-8 добавляют в них метки порядков байтов юникода — BOM-сигнатуры. Файлы с такой сигнатурой некорректно обрабатываются веб-сервером, поэтому мы рекомендуем редактировать .htaccess напрямую в «Файловом менеджере» или через специальный редактор «Notepad++».

Примеры настроек

Перенаправления

Настройка редиректов описана в отдельной статье: Типовые перенаправления.

Параметры PHP

Настройка опций PHP через .htaccess описана в отдельной статье: Настройка параметров PHP.

Управление доступом к сайту

Разрешить или ограничить доступ к сайту для определенных IPv4-адресов можно с помощью директив Order Allow,Deny или Require. В новых версиях Apache, начиная с 2.4, которая используется на наших хостинговых серверах, рекомендуется использовать именно Require.

Обратите внимание, что в рамках нашей архитектуры директивы запрета доступа не будут работать для IPv6. Для запрета доступа с IPv6-адресов необходимо удалить АААА-запись домена.

Разрешить доступ конкретным IP (для остальных доступ запрещен):

Require ip 1.1.1.1
Require ip 2.2.2.2

Несколько IP-адресов могут указываться через пробел или отдельными директивами, каждая в новой строке.

Запретить доступ конкретным IP (для остальных доступ разрешен). Для работы запрещающих директивы, их необходимо заключать в блоки <RequireAll>:

<RequireAll>
Require all granted
Require not ip 1.1.1.1
</RequireAll>

При использовании Allow,Deny:

Разрешить доступ всем, кроме конкретного IP:

Order Allow,Deny
Allow from all
Deny from 1.1.1.1

Запретить доступ всем, кроме конкретного IP:

Order Deny,Allow
Deny from all
Allow from 1.1.1.1

Запретить доступ для всех:

Deny from all

Аналогичным образом можно настроить доступ к конкретным файлам, включив эти директивы в блоки <Files>, например:

<Files myfile. html>
Require all denied
Require ip 1.1.1.1
</Files>

<Files myfile.html>
Order Deny,Allow
Deny from all
Allow from 1.1.1.1
</Files>

Защита сайта или директории паролем. Базовая аутентификация

Если требуется защитить сайт или конкретную папку сайта паролем, можно воспользоваться базовой аутентификацией, которая работает на уровне веб-сервера Apache и настраивается также с помощью файла .htaccess.

  1. В первую очередь задайте логин и пароль, которые будут использоваться для входа. Для этого подключитесь к аккаунту по SSH и выполните команду ниже, указав нужные вам значения:
htpasswd -bc ~/.htpasswd логин пароль
  1. После выполнения команды в корневом каталоге вашего аккаунта будет создан файл .htpasswd, содержащий логин и хэш-сумму пароля. Если в дальнейшем вам потребуется изменить указанный пароль, снова используйте команду выше. .*$ — [R=404,L]

    Ограничения по видам запросов

    Для применения ограничений для определенных методов запросов можно использовать блоки <Limit>:

    SetEnvIfNoCase User-Agent SolomonoBot bad_bot
    SetEnvIfNoCase User-Agent MJ12Bot bad_bot

    <Limit GET POST HEAD>
        Order Allow,Deny
        Allow from all
        Deny from env=bad_bot
    </Limit>

    Для новых версий Apache, начиная с 2.4, оптимально использовать директивы Require и заключать их в блоки <RequireAll>:

    SetEnvIfNoCase User-Agent SolomonoBot bad_bot
    SetEnvIfNoCase User-Agent MJ12Bot bad_bot

    <Limit GET POST HEAD>
        <RequireAll>
        Require all granted
        Require not env bad_bot
        </RequireAll>
    </Limit>

    Индексная страница по умолчанию

    Директива DirectoryIndex позволит вам указать страницу, которая будет отдаваться по умолчанию при обращении к директории, например:

    DirectoryIndex new_index. html

    Вы также можете указать несколько страниц, в этом случае сервер «пройдет» по списку слева направо и отобразит первую доступную страницу:

    DirectoryIndex new_index.html index.html index.php

    Собственные страницы ошибок

    С помощью директивы ErrorDocument вы можете сообщить веб-серверу, какая страница должна отдаваться клиенту в случае возникновения определенной ошибки (403, 404, 500 и др.). Для этого необходимо указать номер ошибки и адрес нужной страницы:

    ErrorDocument 500 http://domain.ru/errors/page500.html

    Вы можете хранить файлы этих страниц как в корне сайта, так и в специально созданной папке, например, errors.

    Кодировка

    Указать кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц можно с помощью AddDefaultCharset, например:

    AddDefaultCharset cp1251

    При использовании PHP версии 5.6 и выше может потребоваться дополнительно указать:

    php_value default_charset cp1251

    Отображение листинга (содержимого директории)

    Если индексный файл запрашиваемой клиентом директории недоступен, будет выведена ошибка «403 Forbidden». Если вместо этого необходимо отображение содержимого директории, потребуется добавить в .htaccess директиву:

    Options +Indexes

    Настройка файла htaccess — Losst

    Сейчас для организации работы подавляющего большинства сайтов в сети используется веб-сервер Apache. Он немного отстает в производительности, но зато очень прост в настройке и имеет огромное количество возможностей.

    Веб-сервер Apache можно настраивать не только в главном конфигурационном файле, но и через файлы .htaccess. Эти файлы размещаются в определенных папках и указывают веб-серверу как нужно себя вести в этой папке и ее подкаталогах.

    Настройка файла htaccess очень похожа на настройку главного файла конфигурации Apache. Но она немного отличается. С помощью этого файла вы можете настроить редиректы, внутреннее изменение url, права доступа, авторизацию по паролю и многое другое. В сегодняшней статье мы рассмотрим как правильно настроить htaccess для вашего сервера.

    Содержание статьи:

    Синтаксис файла htaccess

    Мы уже начали тему настройки Apache в одной из предыдущих статей, но сегодня немного освежим информацию и рассмотрим более детально именно настройку htaccess.

    Все директивы из файла htaccess выполняются точно так же, как если бы они были размещены в глобальном конфигурационном файле, только внутри директивы <Directory адрес_папки_htaccess>. Это не позволяет менять глобальные настройки, но вы можете очень тонко настроить поведение программы в папках, к которым у вас есть права доступа.

    Общий синтаксис директив очень прост, это пары команд и их опций, разделенных пробелом, например:

    Команда параметр1 параметр2 флаги

    Самих команд достаточно много и мы будем рассматривать их на примерах действий, которые они выполняют. Кроме самих команд, тут могут использоваться вложенные структуры, например, для активации модулей или проверки доступности того или иного модуля. А теперь давайте перейдем ближе к тому как выполняется правильная настройка htaccess. Начнем с самых простых действий.

    Настройка доступа htaccess

    Довольно часто htaccess используется для управления доступом к папке. Для управления доступом используются три команды:

    • order — порядок;
    • deny — запретить;
    • allow — разрешить.

    Сначала, с помощью опции order, нужно указать в каком порядке будут выполняться директивы, значение имеет только эта команда, и неважно в какой последовательности они расположены в файле.

    Затем с помощью директивы allow или deny мы разрешаем или запрещаем доступ к папке с определенных адресов. Например, чтобы запретить все необходимо добавить в htaccess:

    Order deny,allow
    Deny from all

    Но мы также можем разрешить доступ только с локальной сети:

    Order deny,allow
    Deny from all
    Allow 192.168.0.

    Если указано deny,allow, то проверка будет выполняться в таком порядке. Сначала все директивы deny, затем все директивы allow, и если ни одно из условий не подошло, то запрос пропускается.При allow,deny такой запрос будет по умолчанию отклонен. Например, предыдущий пример можно написать так:

    Order allow,deny
    Allow 192. 168.0.

    Модификация URL в htaccess

    Наиболее часто htaccess используется для модификации URL во время выполнения или редиректов. За эту функциональность отвечает модуль mod_rewrite и обычно он активирован в большинстве конфигураций Apache.

    Модификация URL в htacces выполняется с помощью трех директив, это RewriteBase, которая указывает префикс адреса, RewriteCond проверяет соответствие, и RewriteRule — изменяет URL в соответствии с регулярным выражением если все правила соответствия подходят.

    Сначала нужно включить Mod_Rewrite, на случай если модуль еще не активен:

    RewriteEngine on

    Укажем, что в качестве префикса для URL нужно использовать корень:

    RewriteBase /

    И будем автоматически заменять URL адреса с index.html на index.php, обратите внимание, что исходный URL — это путь к запрашиваемому файлу относительно расположения файла htaccess:

    RewriteRule index. - начало строки;

  2. $ - конец строки;
  3. . - любой символ;
  4. * - любое количество любых символов;
  5. ? - один определенный символ;
  6. [0-9] - последовательность символов, например, от 0 до 9;
  7. | - символ или, выбирается или одна группа, или другая;
  8. () - иcпользуется для выбора групп символов.
  9. В регулярных выражениях htaccess также можно использовать переменные с данными, полученными из заголовков запроса, например:

    • %{HTTP_USER_AGENT} - поле User-Agent, которое передает браузер пользователя;
    • %{REMOTE_ADDR} - IP адрес пользователя;
    • %{REQUEST_URI} - запрашиваемый URI;
    • %{QUERY_STRING} - параметры запроса после знака ?.

    Это наиболее часто используемые переменные, но их есть намного больше, остальные вы можете найти в официальной документации. (.*)$ https://site.ru/$1 [R=301,L]

    Настройка страниц ошибок в htaccess

    При возникновении каких-либо ошибок во время генерации страницы, веб-сервер выдает краткое сообщение и код ошибки. Но пользователям будет намного понятнее в чем дело, если вы сделаете для каждой ошибки отдельную страницу с картинками и полноценным объяснением.

    Настройка htaccess для этого пункта будет очень полезной. Вы можете использовать директиву ErrorDocument. С помощью нее можно задать html страницы для ошибок 4хх и 5хх. Например, для 404:

    ErrorDocument 404 http://site.ru/error/404.shtml
    ErrorDocument 403 http://site.ru/error/403.shtml
    ErrorDocument 401 http://site.ru/error/401.shtml
    ErrorDocument 500 http://site.ru/error/500.shtml

    Кэширование в htaccess

    Браузер позволяет хранить в своем кэше изображения, файлы скриптов, стилей и другие медиафайлы определенное время. Время жизни кэша задается веб-сервером с помощью специальных заголовков. Их можно настроить с помощью модуля expires.

    Сначала активируем модуль и устанавливаем период кэширования по умолчанию:

    ExpiresActive On
    ExpiresDefault "access plus 1 month"

    Теперь мы можем настроить кэширование для каждого mime типа файлов:

    ExpiresByType text/html "access plus 1 month 15 days 2 hours"
    ExpiresByType image/gif "access plus 5 hours 3 minutes"
    ExpiresByType image/x-icon "access plus 2592000 seconds"

    В первой строке мы указываем, что страницы html нужно считать годными на один месяц 15 дней и два часа с момента загрузки. Доступны такие типы файлов:

    • image/x-icon;
    • image/jpeg;
    • image/png;
    • image/gif;
    • application/x-shockwave-flash;
    • text/css;
    • text/javascript;
    • application/javascript;
    • application/x-javascript;
    • text/html;
    • application/xhtml+xml;

    Чтобы быть уверенным что эта конструкция не вызовет ошибок заключите ее в if:

    <ifModule mod_expires.c>
    </ifModule>

    Сжатие файлов в htaccess

    Для сжатия в Apache можно использовать модуль deflate. Здесь достаточно просто перечислить mime типы файлов, которые нужно сжать. Например:

    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/css text/javascript application/javascript application/x-javascript

    Вы также можете заключить конструкцию if, чтобы проверить поддерживается ли этот модуль:

    <ifModule mod_deflate.c>
    </ifModule>

    Выводы

    В этой статье мы рассмотрели как выполняется настройка файла htaccess для правильной работы вашего сайта. Все действия выполняются не так уже и сложно. Достаточно скопировать несколько строк и исправить их под свои нужды. Если у вас остались вопросы, спрашивайте в комментариях!

    На завершение предлагаю видео с обзором конфигурационного файла Apache:

    Как настроить и включить htaccess на Apache {с примерами}

    Что такое файл htaccess?

    Файл . htaccess в Apache — это инструмент, который позволяет выполнять настройки на уровне каталогов и подкаталогов. С использованием . htaccess позволяет настраивать разрешения для веб-сайтов без изменения файлов конфигурации сервера.

    Это руководство покажет вам , как настроить и включить htaccess на Apache. Кроме того, в нем рассказывается, как ограничить доступ к определенным локализациям на сервере, управлять IP-адресами и перенаправлять трафик.

    Примечание: Если в вашей системе нет Apache, вы можете найти пошаговую инструкцию по установке Apache в Ubuntu.

    Необходимые условия

    • Работающий веб-сервер Apache
    • Доступ к окну терминала/командной строке
    • Доступ к учетной записи пользователя с привилегиями sudo

    Шаг 1. Включите Apache .htaccess

    По умолчанию расширение . Файл htaccess не включен.

    1. Откройте файл конфигурации хоста по умолчанию, введя в терминале следующую команду:

     sudo nano /etc/apache2/sites-available/default 

    2. Найдите раздел с пометкой <Каталог /var/www> .
    В этом разделе измените запись AllowOverride None на all:

    AllowOverride All

    Сохраните файл и выйдите.

    3. Далее, перезапустить службу Apache:

     sudo systemctl apache2 перезапустить 

    Шаг 2: создать файл .htaccess

    Как и большинство программных пакетов Linux, Apache работает с файлами конфигурации. Файл .htaccess — один из них. Он работает, указывая настройку вместе со значением.

    Чтобы создать и открыть файл .htaccess для редактирования, введите:

     sudo nano /var/www/my_website.com/.htaccess 

    Заменить my_website с названием вашего фактического веб-сайта. Если этот файл не существует, ваш текстовый редактор создаст его.

    Шаг 3. Ограничьте списки каталогов

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

    1. Начните с создания нового файла .htpasswd в другом каталоге:

     sudo nano /user/safe_location/.htpasswd 

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

    Сохраните файл и выйдите.

    2. Затем отредактируйте .htaccess до , чтобы включить аутентификацию :

     AuthUserFile /user/safe_location/.htpasswd
    AuthGroupFile /dev/null
    AuthName "Пожалуйста, введите пароль"
    Основной тип авторизации
    Require valid-user 

    Замените /user/safe_location/htpasswd на местоположение по вашему выбору. Не храните его в том же каталоге, что и ваш веб-контент, из соображений безопасности.

    AuthUserFile — устанавливает местоположение для вашего файла . htpasswd.

    AuthGroupFile — Мы не используем группу, так что это заполнитель.

    AuthName — Это подсказка пользователю — вы можете перефразировать, если хотите.

    AuthType — Тип используемой аутентификации — не меняйте.

    Требовать действительного пользователя — Позволяет любому авторизованному пользователю войти в систему. Вы можете изменить это на Требовать от пользователя new_user разрешить доступ только пользователю с именем new_user .

    Управление IP-адресами

    Существует множество способов управления IP-адресами:

    1. Разрешить только определенные IP-адреса.
    2. Блокировать определенные IP-адреса.
    3. Блокировать посетителей по рефереру.

    Разрешить IP-адреса

    Чтобы разрешить IP-адреса, вы можете изменить поведение, чтобы разрешить несколько назначенных IP-адресов и заблокировать остальные.

    Введите команды:

     запретить заказ, разрешить
    разрешить от 192. 168.0.54
    разрешить из 192.168.0 

    Блокировать IP-адреса

    Чтобы заблокировать IP-адреса в htaccess , введите: разрешить, запретить

    .0.54

    Если вы опустите последнюю цифру, будут заблокированы все IP-адреса в диапазоне от 0 до 255:

    Например: deny from 192.168.0

    Примечание: Вы можете сохранить файл .htaccess после каждой из перечисленных ниже операций. Если вы закончили вносить изменения, просто перезагрузите ваш сервис Apache перед тестированием. Также при редактировании файла полезно делать комментарии. Используйте знак #, чтобы пометить строку как комментарий, что позволит вам делать заметки, которые система не будет читать как команды.

    Блокировка посетителей по рефереру

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

    Откройте файл .htaccess и добавьте следующий блок:

     RewriteEngine on
    # Опции +FollowSymlinks
    RewriteCond %{HTTP_REFERER} заблокированный домен\.com [NC]
    RewriteRule .* - [F] 

    Опция NC указывает игнорировать верхний или нижний регистр, чтобы правило нельзя было обойти, введя BlockedDomain.com .

    Если вы хотите добавить больше доменов, обратите внимание на следующее:

     RewriteEngine on
    # Опции +FollowSymlinks
    RewriteCond %{HTTP_REFERER} заблокированный домен\.com [NC,OR]
    RewriteCond %{HTTP_REFERER} заблокированный домен2\.com
    Правило перезаписи .* - [F] 

    Флаг ИЛИ сообщает системе, что вы еще не закончили добавлять заблокированных рефереров. Опустите эту опцию в последней записи.

    Перенаправление трафика

    Вы можете использовать файл . htaccess для перенаправления трафика.

    Откройте файл и введите следующее:

     Redirect301/Other_Website.com/index.html/My_Website.com/index.html 

    Эта команда принимает любой трафик, который ищет Other_Website.com , и перенаправляет его на Мой_Вебсайт.com .

    Установить страницу 404

    Вы можете использовать файл . htaccess , чтобы указать основные функции в новом месте. Одним из примеров является страница 404 .

    1. Откройте файл .htaccess и введите:

     ErrorDocument 404 /404.html 

    Эта строка сообщает системе, что в каталоге контента веб-сайта должен быть файл /404.html в качестве страницы с ошибкой.

    2. Создайте страницу 404 с помощью этой команды:

     sudo nano cd /var/www/My_Website.com/public.html/404.html 

    Это должно открыть файл 404.htm l в текстовом редакторе.

    3. Затем добавьте следующий код:

     
    
    <тело>
    Ошибка 404: страница не найдена
     

    Теперь эту страницу можно настроить так, чтобы отображались сообщения об ошибках любого типа. Вы также можете настроить любые другие страницы ошибок по своему усмотрению. Просто укажите ErrorDocument , например, Error 500 , чем укажите .htaccess на новый файл error.html , который вы создаете.

    Заключение

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

    В этом руководстве представлены основные команды и настройки, а также некоторые наиболее вероятные сценарии, с которыми вы можете столкнуться.

    Как настроить файл htaccess на Apache |
    Linode

    &nbsРезультаты соответствия&nbsp

    &nbspresults

    Нет результатов

    Фильтры

    Фильтры (
    )

    Все

    0, ‘текст-белый’: checkbox.checked, ‘текст-серый-400’: !checkbox.checked && checkbox.count === 0 }» style=letter-spacing:. 07px x-text=checkbox.title>

    Добавить теги

    Все

    0, ‘текст-белый’: checkbox.checked, ‘текст-серый-400’: !checkbox.checked && checkbox.count === 0 }» style=letter-spacing:.07px x-text=checkbox.title>

    Добавить авторов

    Все

    0, ‘текст-белый’: checkbox.checked, ‘текст-серый-400’: !checkbox.checked && checkbox.count === 0 }» style=letter-spacing:.07px x-text=checkbox.title>

    Обновлено
    , Кристофер Пиччини

    Traducciones al Español

    Estamos traduciendo nuestros guías y tutoriales al Español. Эс
    posible que usted esté viendo una traducción generada
    автоматический. Estamos trabajando con traductores profesionales
    пункт verificar лас traducciones де нуэстро ситио сети. Эсте проект
    es un trabajo en curso.

    Создать учетную запись Linode
    чтобы попробовать это руководство с кредитом в долларах США.

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

    Что такое файл htaccess?

    Файл .htaccess вносит изменения в конфигурацию веб-сервера Apache для каждого каталога. Это позволяет вам настраивать определенные области веб-сайта без необходимости изменять основные файлы конфигурации веб-сервера Apache. В этом руководстве показано, как создать и активировать файл .htaccess. Вы также узнаете, как использовать файл .htaccess для настройки разрешений файловой структуры веб-сайта, перенаправлений и ограничений IP-адресов.

    Прежде чем начать

    1. Если вы еще этого не сделали, создайте учетную запись Linode и вычислительный экземпляр. См. наши руководства «Начало работы с Linode» и «Создание вычислительного экземпляра».

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

    3. Заполните раздел Apache в разделе «Установка стека ламп», чтобы установить Apache на ваш Linode.

    Примечание

    В этом руководстве замените каждый экземпляр testuser своей пользовательской учетной записью. Замените каждое вхождение example.com IP-адресом или полным доменным именем (FQDN) вашего Linode.

    Включить файл Apache .htaccess

    Чтобы включить файл .htaccess, необходимо обновить файл Virtual Hosts вашего веб-сайта, добавив директиву AllowOverride All .

    1. Используйте текстовый редактор, чтобы открыть файл конфигурации:

       sudo nano /etc/apache2/sites-available/example.com.conf
       
    2. После блока VirtualHost () добавьте директиву AllowOverride All , как показано ниже:
      2
      3
      4
      5
      6
      7

       . ...
      
      <Каталог /var/www/html/example.com/public_html>
          Индексы опционов FollowSymLinks
          Разрешить переопределить все
          Требовать все предоставленные
       
    3. Сохраните файл, затем перезапустите apache:

       sudo service apache2 restart
       

    Создайте файл .htaccess

    После включения поддержки файлов .htaccess в файле конфигурации Apache вы можете создать файл .htaccess.

    С помощью текстового редактора создайте и откройте файл .htaccess. Вы можете поместить файл в корневой каталог вашего сайта. Если вы следовали инструкциям одного из наших руководств по стеку LAMP, ваша корневая папка находится в папке 9.0053 /var/www/html/example.com/public_html/ . Замените example.com на доменное имя вашего собственного сайта.

     судо нано /var/www/html/example.com/public_html/.htaccess
     

    Отключить списки каталогов в Apache

    Модуль Apache mod_autoindex создает список каталогов для любого URL-адреса, который не содержит файл индекса каталога. Как правило, Apache настроен на использование файла с именем index.html в качестве источника для списка каталогов. Если этот файл отсутствует, а модуль mod_autoindex установлен и включен, Apache автоматически создает список каталогов для данного URL-адреса. Лучшей практикой безопасности является отключение списка каталогов, сгенерированного модулем mod_autoindex. Таким образом, только посетители сайта, знакомые с каталогом и файловой структурой вашего сайта, смогут найти и получить доступ к файлам сайта, на которые вы не предоставляете прямых ссылок.

    Один из способов ограничить список каталогов — использовать файл Apache .htaccess. В этом разделе показано, как обновить файл .htaccess, чтобы отключить списки каталогов.

    Примечание

    Системы CMS, такие как WordPress, по умолчанию создают конфигурации .htaccess. В этом руководстве предполагается, что файл .htaccess не существует. Если вы не создали файл .htaccess, выполните действия, описанные в разделе «Создание файла . htaccess» данного руководства.

    1. С помощью предпочитаемого текстового редактора откройте файл .htaccess и добавьте следующую конфигурацию:

      Файл: /var/www/html/example.com/public_html/.htaccess
       1
       
       Параметры - Индексы 
    2. Теперь перейдите на свой сайт и просмотрите появившееся сообщение Forbidden . Чтобы получить доступ к различным областям вашего сайта, теперь вам необходимо указать путь к файлу или каталогу.

    Ограничение IP-адресов

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

    Примечание

    Подкаталоги наследуют настройки из файла .htaccess родительского каталога. Файл .htaccess родительского каталога может быть переопределен подкаталогом, если он содержит свой собственный отдельный файл .htaccess. В примерах в этом разделе используется файл .htaccess, расположенный в корневом каталоге документов веб-сайта. Если у вас есть несколько файлов .htaccess, вам следует тщательно продумать, в каком файле .htaccess вы должны использовать каждую директиву Apache, которую хотите использовать.

    Блокировка IP-адресов с помощью файла htaccess

    1. Создайте или отредактируйте файл .htaccess, расположенный в корневом каталоге вашего веб-сайта:

       cd /var/www/html/example.com/public_html/
      судо нано .htaccess
       
    2. Удалите строку Options -Indexes из предыдущего раздела (если применимо) и добавьте следующие строки для блокировки целевых IP-адресов:

      Файл: /var/www/html/example.com/public_html
      container) }» x-ref=»container»>

       1
      2
      3
      4
      5
      6
      7
       
       приказ разрешить, запретить
      # Отклоняет IP 192.0.2.9
      запретить с 192.0.2.9
      # Запретить все IP от 192.0.2.0 до 192.0.2.255
      Deny from 192.0.2 

    Разрешить IP-адреса с файлом htaccess

    1. Создайте или отредактируйте файл .htaccess, расположенный в веб-каталоге, к которому вы хотите применить этот параметр.

    2. Добавьте следующие строки, чтобы запретить все IP-адреса, кроме определенного IP-адреса и пула IP-адресов, указанных в команде:

      Файл: /var/www/html/example.com/public_html
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
       
       запретить заказ, разрешить
      # Запрещает все IP
      Запретить от всех
      # Разрешить IP 192.0.2.9
      разрешить от 192.0.2.9
      # Разрешить все IP-адреса от 192. 0.2.0 до 192.0.2.255
      разрешить от 192.0.2 

    Настроить перенаправления с помощью htaccess

    Вы можете перенаправить трафик с помощью файла конфигурации .htaccess. В приведенном ниже примере вы обновляете файл .htaccess для корневого каталога вашего веб-сайта, чтобы перенаправить посетителя на http://example.com/test1/index.html если они попытаются посетить http://example.com/main.html .

    Примечание

    Убедитесь, что на вашем веб-сайте есть целевая страница. В следующих шагах замените каждый экземпляр main.html на целевую страницу вашего веб-сайта.

    1. Создайте тестовый HTML-файл для перенаправления посетителя на http://example.com/test1/index.html :

       mkdir test1
      судо касание test1/index.html
       
    2. Добавьте базовый контент в тестовый HTML-файл:

      Файл: /var/www/html/example. com/public_html/test1/index.html
       1
      2
      3
      4
      5
      6
       
       
      
        <тело>
          Это html-файл в test1.
        
       
    3. Откройте файл .htaccess в корневом каталоге вашего проекта. Удалите все существующие конфигурации в этом файле и добавьте следующую строку:

      Файл: /var/www/html/example.com/public_html/.htaccess
       1
       
       Redirect 301 /main.html /test1/index.html 

    Первый параметр после команды «Redirect» — это код состояния HTTP. Указание кода состояния полезно для информирования браузера о том, что страница была перемещена в новое место. Если оставить этот параметр пустым, по умолчанию используется код 302, указывающий, что перенаправление является временным. Указание 301 дает понять, что страница в запрошенном месте навсегда перемещена в новое место.

    Следующий параметр — это Unix-путь к файлу, запрашиваемому в URL-адресе. Этот параметр требует, чтобы это был путь Unix, а не URL-адрес. Путь должен быть расположением файла .htaccess, в котором настроена конфигурация перенаправления. Последний параметр указывает, куда вы хотите перенаправить посетителя. В этом случае трафик перенаправляется на /test1/index.html ; для этого второго параметра допустим путь Unix или URL-адрес HTTP.

    1. Перейти к example.com/main.html в браузере. Вы должны увидеть URL-адрес перенаправления на example.com/test1/index.html в адресной строке, и ваш тестовый HTML-файл должен отображаться.

    Установите страницу ошибки Apache 404

    Когда посетитель пытается получить доступ к несуществующей странице или ресурсу (например, перейдя по неработающей ссылке или введя неверный URL-адрес), сервер отвечает кодом ошибки 404. Важно, чтобы пользователи получали обратную связь, объясняющую ошибку. По умолчанию Apache отображает страницу ошибки в случае ошибки 404. Тем не менее, большинство сайтов предоставляют настраиваемую страницу ошибок. Вы можете использовать настройки .htaccess, чтобы сообщить Apache, какую страницу ошибки вы хотите отображать всякий раз, когда пользователь пытается получить доступ к несуществующей странице.

    1. Приведенная ниже конфигурация перенаправляет все запросы на несуществующие документы на страницу в корневом каталоге проекта с именем 404.html . Откройте файл .htaccess и добавьте следующую строку:

      Файл: /var/www/html/example.com/public_html/.htaccess
       1
       
       ErrorDocument 404 /404.html 
    2. Создайте файл 404.html :

      Файл: /var/www/html/example. com/public_html/404.html
       1
      2
      3
      4
      5
      6
       
       
      
        <тело>
          Ошибка 404: страница не найдена
        
       
    3. В браузере перейдите на несуществующую страницу, например www.example.com/doesnotexist.html . Должно появиться сообщение 404.

    Вы можете обратиться к следующим ресурсам для получения дополнительной информации
    на эту тему. Хотя они предоставляются в надежде, что они будут
    полезно, обратите внимание, что мы не можем ручаться за точность или своевременность
    материалы внешнего размещения.

    • Коды ошибок и состояния HTTP
    • Документация Apache .htaccess

    Первоначально эта страница была опубликована на

    веб-сервер
    apache



    Присоединяйтесь к беседе.

    This entry was posted in Популярное