Настраиваем правильный .htaccess для WordPress
3,743 просмотров всего, 2 просмотров сегодня
Оглавление
- Зачем вообще нужен .htaccess
- Правильный файл htaccess для CMS WordPress
- Пошаговая инструкция, или как создать .htaccess для WordPress
- Обязательные правила
- Как обеспечить защиту сайта на WP
- Оптимизация общей производительности
- Настройка редиректов и перенаправлений
Базовый дистрибутив CMS WordPress не содержит файл .htaccess, поэтом его созданием придется заняться отдельно. Сегодня поговорим о том, как это делать, собственно зачем, и куда положить, чтобы все работало.
Зачем вообще нужен .htaccess
Цель создания конфигурационного сайта – возможность модификации и изменения ряда настроек сервера, а также защита от сетевых атак. Работать с файлом можно через FTP, без непосредственного доступа к панели управления хостингом (которого у большинства веб-мастеров попросту нет).
Правильный файл htaccess для CMS WordPress обеспечивает:
- Защиту и контроль безопасности ресурса:
- Запрещает листинг директорий.
- Блокирует программы и скрипты hacking tools.
- Защищает от внедрения SQL-инъекций в запрос.
- Ограничивает доступ к ключевым файлам конфигураций.
- Закрывает прямой доступ к файлам xml, php, ini и др.
- Оптимизацию производительности и скорости загрузки сайта благодаря:
- Настройке gzip-сжатия.
- Оптимальному коду mod_headers.
- Возможности настройки кеширования.
- Настройку перенаправлений (редиректов):
- 301 – на зеркало www. с сайта или наоборот.
- 302 – если документ временно перемещен.
- 404 – страница не найдена.
- Других (в том числе – сложных) редиректов.
Здесь: htaccess.txt можно скачать стандартный .htaccess для WordPress версий от 2.9 – 4.6 1. Такой файл, помещенный непосредственно в корневую папку сайта, уже содержит исходный код — все необходимые базовые настройки. Но мы не рекомендуем ограничиваться стандартными директивами. Воспользуйтесь нашими инструкциями, чтобы обеспечить должную защиту сайта и повысить его траст в глазах поисковых роботов.
Обратите внимание, что таким стандартным файлом можно воспользоваться для того, чтобы «откатить» настройки. Это может пригодиться в случае внесения некорректных изменений в актуальный действующий файл.
Пошаговая инструкция, или как создать .htaccess для WordPress
Для начала создаем в любом текстовом редакторе (Блокнот, Evernote или др.) файл с расширением .txt и называем его htaccess. Вы всегда можете скачать стандартный документ (ссылку на который найдете выше на этой странице), или создать пустой самостоятельно.
Затем заходим в файловый менеджер (для этих целей отлично подойдет Total Commander) и переименовываем только что созданный файл в .htaccess. Обратите внимание: обязательно нужно изменить расширение, в то время как имя документа остается пустым.
Сохраняем изменения и копируем в корневую директорию. Для этого придется воспользоваться FTP-клиентом (Filezilla, Total Commander или любой другой программой). Важно: поместите новый документ в той же папке, где уже лежит wp-config.php.
Обязательные правила
Чтобы настройки конфигурационного файла выполнялись адекватно, необходимо запомнить и соблюдать ряд правил к его оформлению:
- Каждая новая директива прописывается с новой строки.
- Чтобы закомментировать правило, необходимо в начале строки поставить #.
- Закомментированное правило не работает. Эта строка служит примечанием для администратора или вебмастера,
работающих с этим сайтом. - Модули параметров директив обязательно заключаются в секции.
Теперь рассмотрим, как с помощью модулей реализовать возможности файла, защитить сайт от взломов и настроить его корректную работу.
Как обеспечить защиту сайта на WP
Закрыть все файлы
Правильный htaccess для WordPress позволяет ограничить сторонний доступ ко всем файлам и папкам, расположенным на сервере. Вот так, к примеру, можно закрыть файлы от открытия напрямую, через строку в браузере:
deny from all
Блокировать по IP
Хотите забанить конкретного пользователя? Заблокируйте его по адресу IP:
<Limit GET POST> order allow,deny deny from xx.xxx.xxx.xxx deny from x2.xx2.xx2.xx2 allow from all </Limit>
Где xx.xxx.xxx.xxx – это IP заблокированного пользователя, x2.xx2.xx2.xx2 – IP другого пользователя, и так до бесконечности.
Защита картинок
Уберечь картинки от парсинга можно с помощью использования следующей директивы:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?мой-сайт.рф/.*$ [NC] RewriteRule\.(png|gif|jpg|jpeg)$ http://www. мой-сайт.рф /noimagehere.gif [R,L]
Таким образом вы не только защитите контент, но и значительно снизите нагрузку на сайт. А на ресурсе пользователя, который решил использовать ваши файлы, будет выводиться изображение с надписью «noimagehere»
Защита контента
Отдельная директива помогает защитить от стороннего доступа папку «wp-content». Для этого создайте новый специальный отдельный файл .htaccess в указанной папке и пропишите в нем:
Order deny,allow Deny from all <Files ~ ".(xml|css|jpe?g|png|gif|js)$"> Allow from all </Files>
Защита файла .htaccess
Сами конфигурационные файлы тоже нуждается в защите. Чтобы обеспечить это, запретите сторонним лицам доступ ко всем документам, которые начинаются с букв «h», «t», «a»:
<Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files>
Оптимизация общей производительности
Чтобы ускорить загрузку сайта и при этом одновременно снизить нагрузку на хостинг, можно включить дополнительное кеширование браузера клиента:
Header append Cache-Control "public" FileETag MTime Size ExpiresActive On ExpiresDefault "access plus 0 minutes" ExpiresByType image/ico "access plus 1 years" ExpiresByType text/css "access plus 1 years" ExpiresByType text/javascript "access plus 1 years" ExpiresByType image/gif "access plus 1 years" ExpiresByType image/jpg "access plus 1 years" ExpiresByType image/jpeg "access plus 1 years" ExpiresByType image/bmp "access plus 1 years" ExpiresByType image/png "access plus 1 years"
Настройка редиректов и перенаправлений
Простой редирект на новый url
Нужно настроить автоматическое перенаправление пользователя со страниц старого сайта на новые url? Для этого в файле .htaccess пропишите следующий код:
http://мой-сайт.рф/страница1.htm
или
http://мой-сайт.рф/
Склейка адресов с www и без
Если не выполнить слияние таких страниц, поисковый робот будет считать их дублями и понизит позиции в поисковой выдаче. Иначе говоря, сайт должен быть доступным только по одному адресу: с www или без. Добиться этого можно следующим образом:
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^мой-сайт\.рф$ [NC] RewriteRule ^(.*)$ http://www.мой-сайт.рф/$1 [R=301,L]
Страница ошибки
Пользователь неправильно набрал адрес страницы, или на сайте что-то пошло не так? Такое бывает на любом ресурсе. Чтобы не терять пользователя, просто перенаправьте его на заранее подготовленную страницу. Здесь он получит объяснение причин произошедшего и увидит инструкции относительно дальнейшего поведения на сайте (если вы предусмотрите подобную возможность в рамках дизайна):
ErrorDocument 401 /401.html ErrorDocument 403 /403.html ErrorDocument 404 /404.html ErrorDocument 500 /500.html
Теперь вы можете самостоятельно написать правильный htaccess для WordPress для ресурса. Не забудьте вместо «мой-сайт.рф» вставить доменное имя действующего сайта и да прибудет с вами сила.