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

Приветствую вас на блоге 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

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

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



2015-03-10T13:37:20
Блог на WordPress