Базовые настройки файла htaccess для WordPress блога

Автор: | Рубрика: Блог на Wordpress | Обновлено: 2015-03-10 | Создано:
Просмотров: 2716
настройка htaccess

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

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

А теперь обо всем этом по порядку с кодами реализации. Файл .htaccess может находиться корневом каталоге сайта или в какой-либо из папок, находящихся на сервере. Если .htaccess находится в корневом каталоге сайта, тогда его действие распространяется на все папки и файлы на сервере. Если же .htaccess находится в отдельной папке (например wp-content), его действие распространяется на все файлы из этого каталога.

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

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

Защита файлов .htaccess и wp-config.php

Чтобы взломщики не смогли получить доступ к имени и паролю базы данных, которые хранятся в файле wpconfig.php, нужно запретить доступ к этому файлу.Тоже самое нужно сделать и из файлом .htaccess. Если злоумышленники получат к нему доступ, они могут настроить перенаправление всех посетителей вашего сайта на свой.

Добавление следующих строчек кода запретит доступ к этим файла вне FTP и файлового менеджера хостинга.

# защищаем wpconfig.php
<files wp-config.php>
order allow,deny
deny from all
</files>
#защищаем htaccess
<Files .htaccess>
order allow,deny
deny from all
</Files>

Эти коды лучше добавлять ближе к концу.

Ускорение загрузки сайта включением Gzip сжатия файлов и кэша браузера

Описание кодов, которые включают кэш браузера и Gzip сжатие, я уже приводила в этой статье http://inetsovety.ru/kak-proverity-skorosty-zagruzki-sayta/, сейчас я их продублирую без комментариев:

# Включаем кэш в браузерах посетителей
FileETag MTime Size
<ifmodule mod_expires.c>
<filesmatch ".(jpg|jpeg|gif|png|ico|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>
# Сжатие данных Gzip
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
<ifmodule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_item_include file \.js$
mod_gzip_item_include file \.css$ </ifmodule>
</IfModule>

Перенаправление с дублированных страниц

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

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^replytocom= [NC]
RewriteRule (.*) $1? [R=301,L]
RewriteCond %{QUERY_STRING} ^srp= [NC]
RewriteRule (.*) $1? [R=301,L]
RewriteRule (.+)/feed /$1 [R=301,L]
RewriteRule (.+)/comment-page /$1 [R=301,L]
RewriteRule (.+)/trackback /$1 [R=301,L]
RewriteRule (.+)/comments /$1 [R=301,L]
RewriteRule (.+)/attachment /$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^attachment_id= [NC]
RewriteRule (.*) $1? [R=301,L]
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Благодаря ему посетители вашего сайта не будут видеть страниц с хвостами replytocom, feed, comment-page, attachment, comments, потому что их при попытке зайти на такую страницу их автоматически перенаправит с дубля на оригинал.

Ограничение доступа к сайту с определенных IP адресов

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

Order Allow,Deny
Allow from All
Deny from 95.181.178.62 95.181.178.61
Deny from 95.181.178.

В примере выше показано, как заблокировать два айпи, прописав их вот таким образом Deny from 95.181.178.62 95.181.178.61. Или же можно заблокировать целый диапазон IP, стерев цифры после третьей точки: Deny from 95.181.178.

Смотрите внимательно кого Вы блокируете. Если по ошибке внесете в этот список айпи робота одной из поисковых систем, в результате получите не только не добавление новых страниц в индекс, а и выпадение старых страниц него. Узнать информацию о айпи можно по ссылке http://2ip.ru/whois/

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

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

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?ваш-сайт.ru/.*$ [NC]
RewriteRule\.(png|gif|jpg|jpeg)$ http://www.ваш-сайт.ru/imgsecurity.jpeg [R,L]

В этом коде поменяйте ваш-сайт.ru на адрес вашего сайта, а по этому адресу http://www.ваш-сайт.ru/imgsecurity.jpeg укажите путь к картинке, которая будет грузиться вместо изображения. Что написать на этой картинке придумайте сами 🙂

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

Вот ссылка на скачивание файла .htaccess https://yadi.sk/d/zs8M1M1zf9Lin

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

Жду ваших дополнений в комментариях.

С уважением, Виктория – блог inetsovety.ru

Поделиться ссылкой на пост в соц. сетях
Получать уведомления о новых статьях на e-mail
Комментариев: 19 к статье "Базовые настройки файла htaccess для WordPress блога"
  • Александр 2016-01-05 в 23:40

    Хотелось бы сказать о дублях страниц. Если прописать этот код в htaccess, то кнопочка ответить не будет работать, а просто сработает редирект. Чтоб работал этот код нужно установить плагин WordPress Thread Comment который выводит кнопку ответить скриптом, а далее отключить в настройках «Обсуждение» древовидные комментарии. Если я что-то не так написал, то поправьте меня

    Ответить
  • Руслан 2015-11-16 в 16:11

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

    Ответить
  • Макс 2015-11-12 в 12:11

    Меня устраивает функции htaccess описанные в этой статье, скажите файл который я скачал у вас, можно использовать сразу или нужно править?

    Ответить
    • Виктория 2015-11-14 в 08:40

      Можно использовать скачанный файл.

      Ответить
      • Александр Макаров 2016-09-01 в 22:46

        а файл robots.txt надо править?

        Ответить
  • Алексей Щукин 2015-06-30 в 14:09

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

    Ответить
  • Юрий Йосифович 2015-04-29 в 18:37

    Я свой файл пока не поддавал тщательному корректированию — чисто по мелочам вставил несколько регулярных выражений.

    Ответить
  • Виталий Охрименко 2015-03-12 в 22:01

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

    Ответить
    • Рашида 2015-03-14 в 13:05

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

      Ответить
      • Юрий Йосифович 2015-04-29 в 18:40

        Это вы правильно подметили, Рашида — здесь у Виктории столько информации, что за один день освоить точно не получится.

        Ответить
    • Юрий Йосифович 2015-04-29 в 18:40

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

      Ответить
  • Рашида 2015-03-12 в 12:14

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

    Ответить
    • Виктория 2015-03-12 в 12:23

      Да, существующий файл .htaccess можно заменять на мой. Но лучше сначала посмотреть уже имеющийся у вас файл .htaccess, сравнить содержание и дополнить недостающими кодами.

      Ответить
      • Рашида 2015-03-14 в 13:04

        Спасибо Виктория, я так и поступлю — сначала сравню файлы и дополню не достающимися кодами.

        Ответить
        • Юрий Йосифович 2015-04-29 в 18:39

          У вас были существенные изменения в этом файле, Рашида?

          Ответить
      • Юрий Йосифович 2015-04-29 в 18:39

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

        Ответить
    • Юрий Йосифович 2015-04-29 в 18:38

      Так вы не один курс посмотрели, Рашида — думаю что-что, а вот как настроить этот важнейший файл вы знаете.

      Ответить
  • Артём 2015-03-10 в 17:49

    Давно искал толковую статью о .htaccess) сейчас прочтем, может и на своем блоге что-то применю 😉

    Ответить
    • Юрий Йосифович 2015-04-29 в 18:37

      Примените, Артём, дело в том что это один из самых важных файлов на хостинге — нужно правильно его настроить!

      Ответить
Оставить комментарий
Нажмите, чтобы отменить ответ.

Комментарий появится после проверки. Комментарии, содержащие спам и ненормативную лексику будут удалены!