Не редактируется файл htaccess

Обновлено: 07.07.2024

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

На хостинге RU-CENTER в настоящее время используется веб-сервер Apache версии 2.4.

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

Пожалуйста, будьте внимательны при редактировании файла .htaccess! При сохранении такого файла в кодировке UTF-8 в нём не должно присутствовать BOM-сигнатуры. Для редактирования файла .htaccess и других конфигурационных файлов мы рекомендуем использовать не «Блокнот» Windows, а специальные текстовые редакторы, например Notepad++.

Примеры использования файла .htaccess

1. Перенаправление доменов c синонима сайта на основной домен с кодом 301

Эти правила рекомендуется размещать в самом начале файла .htaccess.

2. Постоянное перенаправление с кодом 301

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

Подобное правило не сработает для перенаправления с адресов, содержащих Query String (символы после ?). Для запросов, содержащих QUERY_STRING, можно использовать сочетание RewriteCond и RewriteRule.

3. Переопределение страниц ошибок

При помощи файла .htaccess вы можете установить свои страницы ошибок:

Соответствующие файлы страниц ошибок (401.html, 404.html и др.) необходимо разместить в каталоге

Для того чтобы при случайном упоминании прямых ссылок на такие страницы они не проиндексировались в поисковых системах, рекомендуется:

User-agent: *
Disallow: /errors

/ваш_домен/docs/errors/.htaccess, в котором прописать

4. Постраничное перенаправление запросов на другой домен c кодом 301

5. Ограничение доступа к сайту по IP

Запретить доступ к сайту с IP-адресов 123.4.5.6 и 123.5.4.3

Order Allow,Deny
Allow from all
Deny from 123.4.5.6 123.5.4.3

Запретить доступ к сайту со всех адресов кроме 123.4.5.6 и 123.5.4.3:

Order Deny,Allow
Deny from all
Allow from 123.4.5.6 123.5.4.3

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

6. Переопределение главной страницы сайта (индексного файла каталога)

Сделать главной страницей файл menu.html:

7. Включение обработки PHP в .html-файлах

8. Запрет выдачи листинга каталога

В случае отсутствия в папке главной страницы (индексного файла), при обращении без указания конкретного имени файла в запросе будет выдан список всех файлов, находящихся в каталоге. Для того чтобы запретить отображение листинга каталога, добавьте в файл .htaccess строку:

9. Включить выполнение CGI-скриптов в папке docs для файлов с расширениями .cgi, .pl. .py

В папке c CGI-скриптами необходимо разместить файл .htaccess с содержимым:

AddHandler cgi-script .cgi .pl .py
Options +ExecCGI

Скрипт должен иметь атрибут исполнения (+x, права доступа, начинающиеся с 7, например, 755).

Атрибуты (права доступа) можно изменить с помощью файлового менеджера панели управления, при помощи вашего FTP-клиента или по SSH . Также в разделе Веб-сервер → Управление модулями должен быть включен модуль CGI.

10. Блокировка переходов со сторонних ресурсов

Если требуется запретить переходы с нескольких доменов, то используйте следующие директивы

В файле .htaccess использование кириллицы не допускается. При составлении правил перенаправления для кириллических доменов необходимо указывать имя домена в punycode. Узнать имя домена в punycode можно с помощью сервиса Whois.

В этом случае ваши посетители могут увидеть именно punycode-представление доменного имени в адресной строке браузера. Это не является ошибкой.

Для работы перенаправления на сайте должен быть установлен действительный SSL-сертификат.

3. Диагностика ошибок

Если после редактирования или размещения .htaccess при обращении к сайту вы получили ошибку 500, то, скорее всего, в файле .htaccess допущена ошибка. Посмотреть её причины вы можете в лог-файле /var/log/ваш_домен.error_log.

В этом файле можно сделать дополнительные настройки для защиты от хакеров и спама, например, запретить доступ к определенному файлу или папке, установить пароль на папку, добавить редиректы каких-то запросов, заблокировать ip и так далее.

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

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

Что может делать .htaccess

FileZilla - Показывать скрытые файлы

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

  • Включает и отключает редиректы на другие страницы
  • Добавляет пароль на папки
  • Блокирует пользователей по IP
  • Отключает показ содержимого папок
  • Создает и использует собственные страницы для ошибок

Если вы уже знаете, для чего нужен этот файл, переходите к списку.

Сделайте бэкап

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

Как создать .htaccess

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

Если ваш сервер или компьютер не позволяет создать файл с таким именем, создайте файл htaccess.txt, перенесите его на сервер и на сервере переименуйте его в .htaccess.

Начиная с версии 4.2 все установки Вордпресс имеют красивые постоянные ссылки по умолчанию, поэтому файл .htaccess в этих версиях создается автоматически. В новый пустой файл добавьте стандартную запись, которую делает Вордпресс.

Для одиночной установки:

Для мультисайт установки, версия Вордпресс 3.5 или выше, если сайты находятся в подпапках:

Для мультисайт установки, версия Вордпресс 3.5 или выше, если сайты находятся на субдоменах:

Куда добавлять изменения

Добавляйте свои комментарии к вашим правилам.

Когда вы добавляете свои правила, добавляйте их выше или ниже стандартных правил Вордпресс.

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

Добавляйте свои правила выше или ниже стандартных правил Вордпресс по-одному, пишите к ним комментарии, сохраняйте и проверяйте изменения на сайте.

Как редактировать файл .htaccess

Вы можете редактировать .htaccess из вашей хостинг-панели, или через ftp-клиент.

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

1. Защита важных файлов

Запретите доступ к файлам wp-config.php, htaccess, php.ini и логам ошибок. Добавьте это правило, чтобы запретить доступ к этим файлам:

У вас может не быть файла php.ini. Вместо него может быть файл php5.ini или php7.ini. Если у вас есть файл php5 или php7, замените php.ini на php5.ini или php7.ini . Если файла php.ini нет вообще, уберите php.ini| из правила.

Если вы хотите запретить доступ только к файлу wp-config.php, добавьте это правило:

Если вы хотите запретить доступ ко всем файлам .htaccess на сайте, добавьте этот код:

2. Закройте доступ к wp-login.php и wp-admin

Если вы используете статический IP, вы можете запретить доступ к странице входа или панели администратора:

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

Замените /путь-к-вашему-сайту/ в двух первых строчках на свой адрес.
Замените IP Адрес 1 , IP Адрес 2 и IP Адрес 3 на те IP адреса, с которых вы хотите иметь доступ к страницам wp-login.php и wp-admin.

Если вам нужен только один IP адрес, удалите строки 9 и 10, если вам нужно больше адресов, добавьте нужное количество строк.

Если вы или другие пользователи имеют динамические IP (или Мультисайт), используйте следующее правило:

Хакеры используют ботов, чтобы пытаться попасть в админку Вордпресс. Это правило определяет, что только те пользователи, которые вручную набрали wp-login.php или wp-admin в браузере, получат доступ к этим страницам.

Этот способ не защитит от хакеров, которые вручную набирают адрес страницы входа на сайт, но значительно уменьшит количество автоматических брут-форс атак (перебор паролей).

Замените IP Адрес 1 и IP Адрес 2 на свои IP.

3. Запретите доступ к директориям сайта

Если эти папки будут доступны для просмотра, злоумышленник может заразить какие-то файлы на вашем сервере. Чтобы запретить доступ к папкам, добавьте это правило в .htaccess:

4. Доступ только к разрешенным типам файлов

В папке wp-content находятся темы, плагины и медиа контент. Кроме доступа к директориям сайта, можно разрешить доступ только к некоторым типам файлов, например, css, js, jpg, pdf, doc и так далее. Для этого создайте в папке wp-content новый файл .htaccess и добавьте это правило:

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

5. Запретите доступ с определенных IP

Вы можете полностью запретить доступ к сайту с подозрительных или вредоносных ip:

Замените IP Адрес 1 , IP Адрес 2 и IP Адрес 3 на ip-адреса, которым вы хотите запретить доступ к сайту.

6. Запретите доступ к PHP файлам

Добавьте этот код, чтобы заблокировать доступ неавторизованных пользователей к php файлам темы и плагинов:

7. Запретите исполнение PHP файлов

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

Чем больше препятствий взломщику вы установите, тем ниже вероятность что ваш сайт взломают.

Обычно хакеры загружают бэкдоры в папку /wp-content/uploads/ , поэтому заблокируйте исполнение всех PHP файлов в этой папке:

8. Защитите сайт от внедрения вредоносных скриптов

Многие хакеры пытаются изменить переменные Вордпресс GLOBALS и _REQUEST с целью внедрить вредоносный код. Добавьте этот код, чтобы хакеры не могли изменять существующие файлы:

9. Запретите доступ к папке wp-includes

В папке wp-includes хранятся файлы ядра Вордпресс, поэтому доступ к этой папке лучше полностью закрыть:

Добавьте это правило в .htaccess:

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

11. Отключите XML-RPC

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

Чтобы отключить XML-RPC, добавьте это правило:

12. Отключите нумерацию пользователей

Посетитель может определить ID всех пользователей, у которых есть опубликованные материалы на сайте. Этот процесс называется нумерацией пользователей.

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

Даже если пользователи используют сложные пароли, злоумышленнику лучше не знать ID пользователей:

13. Используйте SSL

Это правило требует использование SSL сертификата, выданного домену, который указан в 3-ей строчке.

14. Отключите хотлинк картинок

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

Чтобы отключить хотлинк картинок, используйте это код:

Заключение

Здесь находится он-лайн генератор правил для файла .htaccess.

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

Надеюсь, статья была полезна. Поделитесь в комментариях, что вы добавляете в .htaccess.


Файл htacces это текстовый файл с расширением . htacces без имени в каталоге блога на Вашем хосте (Web сервере). Он содержит необходимые данные и инструкции для работы роботов поисковых систем в виде директив. Процедура формирования, редактирования и проверки работы файла htacces требует использования различных инструментов и сервисов. Рассмотрим их работу на примере работы сервиса Вебмастер Яндекс , программ FileZilla (FTP-клиент) и NotePad (Блокнот – текстовый редактор).

Статистика Яндекс Вебмастер

Обязательно надо соблюдать синтаксис. Особенно быть внимательным к пробелам!

Строчек Redirect 301 будет столько, сколько неканонических документов показывает Яндекс.

Редактирование файла htaccess

Чтобы отредактированный файл закачать на хост, выделяем его на левой половине, нажимаем ПКМ и в контекстном меню (см. выше) выбираем ЗАКАЧАТЬ НА СЕРВЕР.

После проведённой операции в меню FileZilla нажимаем кнопку ОБНОВИТЬ СПИСОК ФАЙЛОВ И КАТАЛОГОВ:

ПРИМЕЧАНИЕ Чтобы не внести ошибок, желательно файл .htaccess сохранить в другом месте Вашего ПК, открыть его программой БЛОКНОТ. Провести необходимые изменения и закачать на хост.

Следует помнить, что файл .htaccess на хосте не имеет имени, а только расширение. Если Ваш файл .htaccess имеет имя, то его можно переименовать прямо на хосте (выделить файл, ПКМ выбрать в контекстном меню Переименовать):


И так, мой дорогой новичок, Вы познакомились с процедурой редактирования файла .htaccess на хосте. Теперь знаете зачем нужны сервис Яндекс Вебмастер, программы FileZilla и Notepad (Блокнот).

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

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

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

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

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

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

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

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

1. Перейдите в раздел "Файловый менеджер" панели управления.

2. Выберите пункт меню "Файл" - "Новый файл".

3. Выберите из списка расширений .htaccess.

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

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

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

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

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

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

Параметры PHP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Перейдите в директорию, которую необходимо защитить паролем (например, это может быть директория wp-admin), и создайте в ней файл .htaccess со следующим содержимым, указав вместо u и user первую букву вашего логина и сам логин:

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

Блокировка запросов по User-Agent

Можно ограничить доступ к сайту для определенных User-Agent. Например, при нежелательной активности ботов MJ12bot и SolomonoBot, используйте:

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

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

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

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

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

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

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

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

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

Кодировка

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

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

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

Читайте также: