Содержание
Создание и настройка .htaccess — Виртуальный хостинг
Общие сведения
.htaccess
— это конфигурационный файл веб-сервера Apache, который позволяет задавать различные настройки для работы веб-сервера, применяемые для конкретных каталогов пользователя.
Параметры, указанные в .htaccess
, не затрагивают настройки главного конфигурационного файла Apache и имеют силу только для каталога, в котором этот файл размещен, и его подкаталогов. Для подкаталогов также можно создавать дополнительные .htaccess
-файлы; при этом необходимо учитывать, что настройки .htaccess
, заданные в подкаталоге, переопределят настройки, назначенные для него в файле .htaccess
, размещенном на уровне выше.
Настройки в .htaccess
задаются различными директивами, которые далее обрабатываются и выполняются веб-сервером. С помощью .htaccess
можно настраивать перенаправления, управлять опциями PHP, устанавливать разрешения и права доступа к файлам, задавать собственные страницы ошибок и выполнять множество других действий.
Создание и редактирование .htaccess
Создать файл настроек .htaccess
вы можете при помощи файлового менеджера панели управления аккаунтом.
- Перейдите в раздел «Файловый менеджер» панели управления.
- Выберите пункт меню «Файл» — «Новый файл».
- Выберите из списка расширений
.htaccess
. - Нажмите кнопку «Создать файл».
Возникновение ошибки «Имя уже используется» означает, что данный файл уже создан в текущей директории.
Для редактирования файла в файловом менеджере перейдите в директорию с данным файлом, выделите его кликом левой кнопки мыши и выберите пункт меню «Файл» — «Редактировать».
В открывшейся форме редактирования можно внести необходимые изменения в файл конфигурации: добавить или удалить директивы. Также можно закомментировать неиспользуемые настройки, для этого необходимо добавить в начале строки символ #
. Настройки, указанные в таких строках, учитываться не будут.
Вы также можете редактировать . 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
.
- В первую очередь задайте логин и пароль, которые будут использоваться для входа. Для этого подключитесь к аккаунту по SSH и выполните команду ниже, указав нужные вам значения:
htpasswd -bc ~/.htpasswd логин пароль
- После выполнения команды в корневом каталоге вашего аккаунта будет создан файл
.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. - начало строки;
- $ - конец строки;
- . - любой символ;
- * - любое количество любых символов;
- ? - один определенный символ;
- [0-9] - последовательность символов, например, от 0 до 9;
- | - символ или, выбирается или одна группа, или другая;
- () - иcпользуется для выбора групп символов.
- %{HTTP_USER_AGENT} - поле User-Agent, которое передает браузер пользователя;
- %{REMOTE_ADDR} - IP адрес пользователя;
- %{REQUEST_URI} - запрашиваемый URI;
- %{QUERY_STRING} - параметры запроса после знака ?.
- 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;
- Работающий веб-сервер Apache
- Доступ к окну терминала/командной строке
- Доступ к учетной записи пользователя с привилегиями sudo
- Разрешить только определенные IP-адреса.
- Блокировать определенные IP-адреса.
- Блокировать посетителей по рефереру.
Если вы еще этого не сделали, создайте учетную запись Linode и вычислительный экземпляр. См. наши руководства «Начало работы с Linode» и «Создание вычислительного экземпляра».
Следуйте нашему руководству по настройке и защите вычислительного экземпляра, чтобы обновить свою систему. Вы также можете установить часовой пояс, настроить имя хоста, создать ограниченную учетную запись пользователя и усилить доступ по SSH.
Заполните раздел Apache в разделе «Установка стека ламп», чтобы установить Apache на ваш Linode.
Используйте текстовый редактор, чтобы открыть файл конфигурации:
sudo nano /etc/apache2/sites-available/example.com.conf
После блока VirtualHost () добавьте директиву
AllowOverride All
, как показано ниже:
2
3
4
5
6
7. ... <Каталог /var/www/html/example.com/public_html> Индексы опционов FollowSymLinks Разрешить переопределить все Требовать все предоставленные
Сохраните файл, затем перезапустите apache:
sudo service apache2 restart
С помощью предпочитаемого текстового редактора откройте файл .htaccess и добавьте следующую конфигурацию:
- Файл: /var/www/html/example.com/public_html/.htaccess
1
Параметры - Индексы
Теперь перейдите на свой сайт и просмотрите появившееся сообщение Forbidden . Чтобы получить доступ к различным областям вашего сайта, теперь вам необходимо указать путь к файлу или каталогу.
Создайте или отредактируйте файл .htaccess, расположенный в корневом каталоге вашего веб-сайта:
cd /var/www/html/example.com/public_html/ судо нано .htaccess
Удалите строку
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
Создайте или отредактируйте файл .htaccess, расположенный в веб-каталоге, к которому вы хотите применить этот параметр.
Добавьте следующие строки, чтобы запретить все 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
Создайте тестовый HTML-файл для перенаправления посетителя на
http://example.com/test1/index.html
:mkdir test1 судо касание test1/index.html
Добавьте базовый контент в тестовый HTML-файл:
- Файл: /var/www/html/example. com/public_html/test1/index.html
1 2 3 4 5 6
<тело> Это html-файл в test1.
Откройте файл .htaccess в корневом каталоге вашего проекта. Удалите все существующие конфигурации в этом файле и добавьте следующую строку:
- Файл: /var/www/html/example.com/public_html/.htaccess
1
Redirect 301 /main.html /test1/index.html
- Перейти к
example.com/main.html
в браузере. Вы должны увидеть URL-адрес перенаправления наexample.com/test1/index.html
в адресной строке, и ваш тестовый HTML-файл должен отображаться. Приведенная ниже конфигурация перенаправляет все запросы на несуществующие документы на страницу в корневом каталоге проекта с именем
404.html
. Откройте файл.htaccess
и добавьте следующую строку:- Файл: /var/www/html/example.com/public_html/.htaccess
1
ErrorDocument 404 /404.html
Создайте файл
404.html
:- Файл: /var/www/html/example. com/public_html/404.html
1 2 3 4 5 6
<тело> Ошибка 404: страница не найдена
В браузере перейдите на несуществующую страницу, например
www.example.com/doesnotexist.html
. Должно появиться сообщение 404.- Коды ошибок и состояния HTTP
- Документация Apache .htaccess
В регулярных выражениях htaccess также можно использовать переменные с данными, полученными из заголовков запроса, например:
Это наиболее часто используемые переменные, но их есть намного больше, остальные вы можете найти в официальной документации. (.*)$ 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 дней и два часа с момента загрузки. Доступны такие типы файлов:
Чтобы быть уверенным что эта конструкция не вызовет ошибок заключите ее в 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.
Необходимые условия
Шаг 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-адресами:
Разрешить 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Результаты соответствия 
 results
Нет результатов
Фильтры
Фильтры (
)
Все
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-адресов.
Прежде чем начать
Примечание
В этом руководстве замените каждый экземпляр testuser
своей пользовательской учетной записью. Замените каждое вхождение example.com
IP-адресом или полным доменным именем (FQDN) вашего Linode.
Включить файл Apache .htaccess
Чтобы включить файл .htaccess, необходимо обновить файл Virtual Hosts вашего веб-сайта, добавив директиву AllowOverride All
.
Создайте файл .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» данного руководства.
Ограничение IP-адресов
В этом разделе показано, как ограничить доступ определенных IP-адресов к вашему сайту. Это полезно, если вы хотите заблокировать определенных посетителей от просмотра вашего сайта. Вы также можете настроить это, чтобы запретить определенным IP-адресам доступ к определенным разделам вашего сайта.
Примечание
Подкаталоги наследуют настройки из файла .htaccess родительского каталога. Файл .htaccess родительского каталога может быть переопределен подкаталогом, если он содержит свой собственный отдельный файл .htaccess. В примерах в этом разделе используется файл .htaccess, расположенный в корневом каталоге документов веб-сайта. Если у вас есть несколько файлов .htaccess, вам следует тщательно продумать, в каком файле .htaccess вы должны использовать каждую директиву Apache, которую хотите использовать.
Блокировка IP-адресов с помощью файла htaccess
Разрешить IP-адреса с файлом htaccess
Настроить перенаправления с помощью htaccess
Вы можете перенаправить трафик с помощью файла конфигурации .htaccess. В приведенном ниже примере вы обновляете файл .htaccess для корневого каталога вашего веб-сайта, чтобы перенаправить посетителя на http://example.com/test1/index.html
если они попытаются посетить http://example.com/main.html
.
Примечание
Убедитесь, что на вашем веб-сайте есть целевая страница. В следующих шагах замените каждый экземпляр main.html
на целевую страницу вашего веб-сайта.
Первый параметр после команды «Redirect» — это код состояния HTTP. Указание кода состояния полезно для информирования браузера о том, что страница была перемещена в новое место. Если оставить этот параметр пустым, по умолчанию используется код 302, указывающий, что перенаправление является временным. Указание 301 дает понять, что страница в запрошенном месте навсегда перемещена в новое место.
Следующий параметр — это Unix-путь к файлу, запрашиваемому в URL-адресе. Этот параметр требует, чтобы это был путь Unix, а не URL-адрес. Путь должен быть расположением файла .htaccess, в котором настроена конфигурация перенаправления. Последний параметр указывает, куда вы хотите перенаправить посетителя. В этом случае трафик перенаправляется на /test1/index.html
; для этого второго параметра допустим путь Unix или URL-адрес HTTP.
Установите страницу ошибки Apache 404
Когда посетитель пытается получить доступ к несуществующей странице или ресурсу (например, перейдя по неработающей ссылке или введя неверный URL-адрес), сервер отвечает кодом ошибки 404. Важно, чтобы пользователи получали обратную связь, объясняющую ошибку. По умолчанию Apache отображает страницу ошибки в случае ошибки 404. Тем не менее, большинство сайтов предоставляют настраиваемую страницу ошибок. Вы можете использовать настройки .htaccess, чтобы сообщить Apache, какую страницу ошибки вы хотите отображать всякий раз, когда пользователь пытается получить доступ к несуществующей странице.
Вы можете обратиться к следующим ресурсам для получения дополнительной информации
на эту тему. Хотя они предоставляются в надежде, что они будут
полезно, обратите внимание, что мы не можем ручаться за точность или своевременность
материалы внешнего размещения.
Первоначально эта страница была опубликована на
веб-сервер
apache
Присоединяйтесь к беседе.