Ссылка на htaccess для WordPress
Настройки файла htaccess для WordPress.
Стандартный htaccess для Wordpress.
Вот так выглядит стандартный код htacces для wordpress.
1
2
3
4
5
6
7
8
9
10
|
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^robots.txt$ - [L] RewriteRule ^sitemap.xml$ - [L] RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress |
Но я вам рекомендую его расширить. Смотрите предлагаемое.
Безопасность WordPress и защита.
○ Закрыть доступ к просмотру всех файлов.
Чтобы запретить возможность открыть файл напрямую, через строку браузера, набрав прямой адрес файла, закройте доступ ко всем файлам с помощью htaccess.
1
|
deny from all |
○ Блокировка по IP.
Если вы хотите закрыть доступ пользователя к сайту, например, за нарушение правил и т. д., вы можете заблокировать пользователя по IP.
Для добавления нового IP по причине блокировки продублируйте строку deny.
xx.xxx.xxx.xxx — вместо этого вставляйте IP пользователя для блокировки
x2.xx2.xx2.xx2 — вместо этого вставляйте второй IP пользователя для блокировки, и так до бесконечности.
1
2
3
4
5
6
|
< Limit GET POST> order allow,deny deny from xx.xxx.xxx.xxx deny from x2.xx2.xx2.xx2 allow from all </ Limit > |
○ Защита изображения на сайте.
Представьте себе такую ситуацию: какой-нибудь сайт размещает у себя изображение, которое находится на вашем ресурсе. Таким образом, ваш сайт попадет под нагрузку, так как картинки будут загружаться с вашего сайта.
Чтобы этого избежать, пропишете в файле htaccess следующее:
1
2
3
4
|
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https://(www\.)?ваш-сайт.com/.*$ [NC] RewriteRule\.(png|gif|jpg|jpeg)$ https://www.ваш-сайт.com/stopimg.gif [R,L] |
Если кто-то решит установить картинку, хранящуюся у вас на сайте, то увидит вместо ожидаемого результата картинку с предупреждением stopimg.gif
○ Защита от Спама.
Зачастую многие спам-боты обращаются напрямую к файлу, который обрабатывает комментарии пришедшие с сайта, этот файл называется wp-comments-post.php. Можно выловить спам-бота от живого пользователя через обращение к файлу wp-comments-post.php на наличие REFERER. При добавлении комментариев, у пользователя он есть, а вот у спам-бота его нет. Но этот метод не является 100% защитой от Спама, воспользуйтесь дополнительно плагином.
Не забудьте поменять «ваш домен.ru» на ваш (5-тая строка ).
1
2
3
4
5
6
7
|
# защита комментария от Спам-бота RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*ваш домен.ru.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^https://%{REMOTE_ADDR}/$ [R=301,L] |
○ Запретить доступ к папке wp-content и wp-includes.
Все пользователи WordPress знают, что в папке «wp-content» хранятся все плагины и темы, картинки и многое др. Рекомендую защитить папку «wp-content» от нехороших людей (редисок).
Создать новый файл htaccess в папке «wp-content» на хостинге с таким кодом (эти же действия сделайте для папки «wp-includes»):
1
2
3
4
5
|
Order deny,allow Deny from all < Files ~ ".(xml|css|jpe?g|png|gif|js)$"> Allow from all </ Files > |
○ Запрет доступа к файлу wp-config.php
В WordPress файл «wp-config.php» содержит всю важную информацию, например, название и пароль к базе данных. Запретим доступ через файл htaccess.
1
2
3
4
5
|
# защита wp-config.php < files wp-config.php> order allow,deny deny from all </ files > |
○ Запрещаем доступ к определенному файлу.
Вы можете защитить файлы плагина css и js.
1
2
3
4
|
< Files ~ "\.(js|css)$"> order allow,deny allow from all </ Files > |
○ Запрещаем просмотр нежелательным User-Agent.
Вы можете запретить просмотр сайта некоторым программам, сканирующим сайтам, старые браузерам от которых вы полностью отказались.
1
2
3
4
5
6
7
|
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR] SetEnvIfNoCase user-Agent ^Java.* [NC,OR] SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR] SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR] Order Allow,Deny Allow from all Deny from env=bad_bot |
○ Ограничение доступа к админ-панеле WordPress.
xx.xxx.xxx.xxx — это ваш IP адрес.
1
2
3
4
5
6
7
8
9
|
AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Example Access Control" AuthType Basic < LIMIT GET> order allow, deny deny from all allow from xx.xxx.xxx.xxx </ LIMIT > |
○ Защита htaccess.
Мы защитили файлы, папки от посторонних лиц, но не нужно забывать, что сам файл htaccess тоже нуждается в защите. Согласен, немного смешно звучит.
Итак, защитим все файлы, которые начинаются с «hta» от просмотра нежелательными и любопытными лицами.
1
2
3
4
5
|
< Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </ Files > |
Редиректы (перенаправления).
○ Самый простой редирект на новый сайт и страницу.
Если вам нужно автоматически перенаправить пользователей на другой сайт или страницу, укажите в файл htaccess вот такой код.
перенаправление на страницу сайта.
1
|
Redirect 301 / https://ваш сайт.ru/страница.htm |
перенаправление на новый адрес сайта.
1
|
Redirect 301 / https://ваш сайт.ru/ |
Внимание: «/» — слеш в конце обязательно.
Пример неправильной записи:
https://ваш сайт.ru
Пример правильной записи:
https://ваш сайт.ru/страница.htm
https://ваш сайт.ru/
Также можно перенаправить со страницы на страницу, при этом сохранит PR старой страницы.
1
|
Redirect 301 /путь/старая-страница.htm https://ваш сайт.ru/новая-страница.htm |
○ 301 редирект для слияния страниц с www и без (склеить домен).
Чтобы поисковики один и тот же сайт не считали дублированным, домен нужно склеить. Если выразится более ясным языком, то сайт должен быть доступен только по одному адресу, т.е. либо с www, либо без www.
главным доменом будет с www
1
2
3
4
|
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^ваш-домен\.ru$ [NC] RewriteRule ^(.*)$ https://www.ваш-домен.ru/$1 [R=301,L] |
главным доменом будет без www
1
2
3
4
|
Options +FollowSymLinks RewriteEngine On RewriteCond %{HTTP_HOST} ^www.ваш-домен\.ru$ [NC] RewriteRule ^(.*)$ https://ваш-домен.ru/$1 [R=301,L] |
Изменяем страницы ошибок.
Рекомендую сделать личные страницы ошибок, где будет краткое разъяснение причины ошибки. В таком случае вы не потеряете клиентов при возникновении ошибки, так как пользователь будет перенаправлен на специальную подготовленую страницу.
1
2
3
4
|
ErrorDocument 401 /401.html ErrorDocument 403 /403.html ErrorDocument 404 /404.html ErrorDocument 500 /500.html |
401.html, 403.html, 404.html, 500.html — это подготовленые страницы ошибок.
Ускорение сайта через файл htaccess для WordPress.
○ Включаем кэширование браузера клиента.
Файлы сайта будут записываться в кэш браузера пользователя и при повторном вызове будут загружаться оттуда, это ускорит скорость загрузки сайта и уменьшит нагрузку на хостинг.
1
2
3
4
5
6
7
8
9
10
11
12
|
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" |
Важно: обратите внимание на image/, возможно в вашем случае папку с картинками нужно поменять.
Кодировка сайта.
○ Кодировка по умолчанию.
Чтобы избежать проблемы с кодировкой, можно указать принудительную кодировку — UTF8
1
|
AddDefaultCharset UTF-8 |
Вот и все!!! Не игнорируйте темой «htaccess для WordPress«, так как htaccess важен для защиты блога.
С Уважением Webmasterok2009