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

настройка htaccess

Реферальные банеры

Приветствую вас на блоге inetsovety.ru. Сегодня я вам расскажу о настройке конфигурационного файла .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 сжатие, я уже приводила в этой статье https://inetsovety.ru/kak-proverit-skorost-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

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

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

Понравилась статья? Поделиться с друзьями:
Как заработать деньги в интернете
Комментарии: 23
  1. Александр

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

  2. Руслан

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

    1. Люся

      Для грамотного разбора и понимания htaccess надо регулярки знать и не только их.

      1. Игорь

        Это точно. А то можно такого нагородить, что блог сбоить будет

  3. Макс

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

    1. Виктория (автор)

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

      1. Александр Макаров

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

  4. Алексей Щукин

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

  5. Юрий Йосифович

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

  6. Виталий Охрименко

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

    1. Рашида

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

      1. Юрий Йосифович

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

    2. Юрий Йосифович

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

  7. Рашида

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

    1. Виктория (автор)

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

      1. Рашида

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

      2. Юрий Йосифович

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

      3. Юрий Йосифович

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

    2. Юрий Йосифович

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

  8. Артём

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

    1. Юрий Йосифович

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

    2. Люся

      «Если .htaccess находится в корневом каталоге сайта, тогда его действие распространяется на все папки и файлы на сервере.»
      Это относится к серверам Apache, под сервером ngnix не так.

    3. Игорь

      Применить то можно, только правильно применить

Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:
Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности. Комментарий появится после проверки. Комментарии, содержащие спам и ненормативную лексику будут удалены!

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