10 отличных приемов с .htaccess для WordPress. Wordpress htaccess


htaccess для wordpress

Правильный htaccess для wordpress

Мне часто приходится создавать сайты на платформе wordpress. Поэтому я часто скачиваю свежую сборку с официального сайта. К моему сожалению, по-молчанию там отсутствуют файлы .htaccess и robots.txt.

Сейчас мы напишем правильный .htaccess для WordPress.

.htaccess — очень важный файл! Это дополнительная конфигурация для сервера. В нем можно указать и изменить множество параметров.

htaccess для wordpress

Базовые для сайта на движке wordpress следующие:

# BEGIN WordPress RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress

Эти строки включают механизм преобразований, необходимый для создания страниц с использованием ЧПУ.

В зависимости от требований, вы можете добавить туда и дополнительные параметры.  Значок # в файле воспринимается как комментарий.

Копируем, и вставляем  до # END WordPress

#Сжимаем компоненты сайта путем включения Gzip 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

Это основное улучшение, рассмотрим и другие:

Защита изображения на сайте.

Представьте себе такую ситуацию: какой-нибудь сайт размещает у себя изображение, которое находится на вашем ресурсе. Таким образом, ваш сайт попадет под нагрузку, так как картинки будут загружаться с вашего сайта.

Чтобы этого избежать, пропишете в файле htaccess следующее:

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

Защита от Спама.

Зачастую многие спам-боты обращаются напрямую к файлу, который обрабатывает комментарии пришедшие с сайта, этот файл называется wp-comments-post.php. Можно выловить спам-бота от живого пользователя через обращение к файлу wp-comments-post.php на наличие REFERER. При добавлении комментариев, у пользователя он есть, а вот у спам-бота его нет. Но этот метод не является 100% защитой от Спама,  воспользуйтесь дополнительно плагином.Не забудьте поменять «ваш домен.ru» на ваш (5-тая строка ).

# защита комментария от Спам-бота RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*ваш домен.ru.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

Запретить доступ к папке wp-content и wp-includes.

Все пользователи  WordPress знают, что в папке «wp-content» хранятся все плагины и темы, картинки и многое др. Рекомендую защитить папку «wp-content» от нехороших людей (редисок).

Создать новый файл htaccess в папке «wp-content» на хостинге с таким кодом (эти же действия сделайте для папки «wp-includes»):

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.

# защита wp-config.php <files wp-config.php> order allow,deny deny from all </files>

Запрещаем просмотр нежелательным User-Agent.

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

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.

Вы можете разрешить доступ к админ-панеле только вашему IP адресу. Но этот метод подходит, если у вас постоянный IP адрес.xx.xxx.xxx.xxx — это ваш IP адрес.

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» от просмотра нежелательными и любопытными лицами.

<Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files>

Ускорение сайта через файл htaccess для WordPress.

(Код, который ускоряет блог.)

○ Включаем кэширование браузера клиента.

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

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" #Сжимаем компоненты сайта путем включения Gzip 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

Вот и все!!! Не игнорируйте темой «htaccess для WordPress«, так как htaccess важен для защиты блога.

x-inside.ru

10 отличных приемов с .htaccess для WordPress / Хабр

Внимание! Перед изменением файла .htaccess не забудьте сделать его резервную копию.

1 — Перенаправляем WordPress RSS поток на feedburner с использованием .htaccess Почему некоторые вебмастера не используют feedburner? Ведь это такой замечательный инструмент для контроля за подписками на RSS. Проблема в том, что приходится руками исправлять файлы шаблонов. Этот прием поможет сохранить Ваше время. И не забудьте исправить в строке 6 на Ваш код

<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_USER_AGENT} !FeedBurner [NC] RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC] RewriteRule ^feed/?([_0-9a-z-]+)?/?$ httр://feeds2.feedburner.com/wordpress[R=302,NC,L] </IfModule>

2 — Удалить /category/ из пути в адресе WordPress По умолчанию категории в WordPress отображаются так: httр://www.wordpress.com/blog/category/wordpress А это не очень красиво, да и адрес выглядит длинновато. Сейчас Вы узнаете как исправить это с помощью .htaccess

RewriteRule ^category/(.+)$ httр://www.yourblog.com/$1 [R=301,L]

Теперь категории будут выглядеть как: httр://www.wordpress.com/blog/wordpress

3 — Использование кэша браузера Очень хороший путь оптимизации твоего блога это использование кэша браузера. Этот код улучшает кэширование браузером статических файлов. При повторном запросе к файлу, который не изменился клиент получит ответ 304, а не содержимое файла.

FileETag MTime Size <ifmodule mod_expires.c> <filesmatch "\.(jpg|gif|png|css|js)$"> ExpiresActive on ExpiresDefault "access plus 1 year" </filesmatch> </ifmodule>

4 — Сжатие статических данных Этот код уменьшит объём данных передаваемых между сервером и пользователем за счет их сжатия.

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

5 — Перенаправление постоянных ссылок на основе Дня и имени на /%postname%/ Сначала зайдите в админку WordPress, зайдите в Settings → Permalinks и выберите custom. Заполните поле с /%postname%/. Теперь постоянные ссылки будут выглядеть так: httр://www.yourblog.com/name-of-the-post

Теперь нам нужно перенаправить все старые ссылки на новые постоянные. Внесите в .htaccess следующие строки:

RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$ httр://www.domain.com/$4

6 — Запретить комментирование если отсутствует referrer Метод построен на том, что многие спам-боты не передают referer когда постят данные. Этот код проверяет поле referrerи блокирует отправку комментария если отсутствует referer при обращении к файлу wp-comments-post.php. Не забудьте в строке 4 вписать домен своего блога

RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*yourblog.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]

7 — Перенаправить пользователя на страницу-заглушку на время работ на сайте желательно перенаправлять пользователей на временную страницу-заглушку Замените в строке 2 maintenance.html на название вашего файла. И в строке 3 впишите свой IP, чтобы вас не перенаправляло на эту заглушку.

302-редирек используется чтобы поисковые системы не проиндексировали содержимое временной страницы.

RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 RewriteRule $ /maintenance.html [R=302,L]

8 — Защита блога от хотлинков Хотлик — это использование файлов размещенных на вашем сайте на страницах других сайтов с целью сэкономить свой серверный трафик. Для борьбы с этой напастью помогут следующие строки в .htaccess

RewriteEngine On #Replace ?mysite\.com/ with your blog url RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC] RewriteCond %{HTTP_REFERER} !^$ #Replace /images/nohotlink.jpg with your "don't hotlink" image url RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

9 — Разрешить доступ к wp-admin только с Вашего IP Дополнительной защитой Вашего блога от взлома может служить ограничение списка адресов, с которых разрешено заходить в админку блога. Не забудьте вставить свой IP в строке 8. Если Вы захотите использовать дополнительные адреса для доступа добавьте строки allow from xx.xx.xxx.xx

AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Example Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all allow from xx.xx.xx.xx </LIMIT>

10 — Блокирование спамеров в WordPress через .htaccess Часто спам-боты ходят с одних и техже IP. Следующий прием поможет блокировать доступ с этих адресов. Внеси адрес спамера в строке 3. Можно расширить список заблокированных адресов добавив строки deny from xxx.xx.xxx.xxx.

<Limit GET POST> order allow,deny deny from 200.49.176.139 allow from all </Limit>

UPD: Оригинал статьи можно найти здесь. Наткнулся случайно, но не смог проигнорировать такие полезности, вот и вышло то, что вышло — эта статья.

habr.com

Защищаем сайт — файл htaccess WordPress

htaccess wordpressПервым делом, после установки WordPress, нужно не только настроить ЧПУ — человеко понятные ссылки, но и позаботиться о безопасности. Частично поможет в этом замечательный файл htaccess WordPress.

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

Где находится файл htaccess WordPress ?

Здесь все очень просто. Открыть и отредактировать файл htaccess WordPress можно двумя способами — напрямую, через файловый менеджер вашего хостинга, либо через FTP клиент, такой как, Total Commander, либо ему подобные.

Для начала зайдите в файловый менеджер в админке хостинга и откройте корневую папку сайта. На разных хостингах она называется по разному.В TimeWeb — название сайта (по умолчанию wordpress) — publik.htmlВ Hostland — название сайта — wwwВсе, это и есть корневая папка вашего сайта. О том как прописать и не заблудиться в папках на хостинге, читайте в этой статье — Как прописать путь к папке, файлу на хостинге.В корневой папке и находится файл .htaccess WordPressфайл htaccess WordPress

Защищаем данные файла wp-config.php путем дополнений файла .htaccess WordPress

Итак, открываем файл htaccess WordPress и видим первоначальные настройки:

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ — [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule>

Эти настройки htaccess одинаковые по дефолту для всех сайтов на WordPress.Нам нужно вставить после этих строчек небольшой отрывок кода. Но сначала объясню вкратце, зачем это нужно.Внося правки, мы первым делом защищаем важный файл wp-config.php от просмотра. Хотя итак, если вы вобьете в браузерную строку название-сайта/wp-config.php, у вас он не откроется, но дополнительная защита никому еще не вредила.

В файле wp-config.php хранятся пароль и логин от базы данных сайта.

Большинство владельцев сайтов на WP закрывают доступ к паролям таким образом, внося коррективы в файл htaccess WordPress, просто добавив строчки:

# защита wp-config.php <files wp-config.php> order allow,deny deny from all </files>

Тут и комментировать нечего, просто ставится запрет на просмотр файла wp-config.php

Защищаем данные самого файла htaccess WordPress

Ну и аналогичным образом нужно закрыть и сам файл htaccess WordPress:

# защита htacces <Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files>

В итоге должно получиться все вместе вот так:

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ — [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # защита wp-config.php <files wp-config.php> order allow,deny deny from all </files> # защита htacces <Files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </Files>

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

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

— Задавайте вопросы в комментариях, да и просто делитесь своим мнением.

Лучший способ отблагодарить автора

Похожие по Тегам статьи

filwebs.ru

Правильный htaccess для WordPress

правильная настройка файла htaccess для вордпресс Доброго времени суток всем читателям моего блога! Недавно пытался сделать 301 редирект на своем автомобильном сайте, который попал под АГС, в связи с изменением всех ссылок на сайте и наткнулся на создание оптимального .htaccess файла для WordPress сайтов, который будет редиректить все технические страницы, что бы не плодить дубли страниц в поисковиках.

Выдержка из википедии, дабы не возникало ненужных вопросов:

.htaccess (от. англ. hypertext access) — файл дополнительной конфигурации веб-сервера Apache, а также подобных ему серверов. Позволяет задавать большое количество дополнительных параметров и разрешений для работы веб-сервера в отдельных каталогах (папках), таких как управляемый доступ к каталогам, переназначение типов файлов и т.д., без изменения главного конфигурационного файла.

Код стандартного файла htaccess для WordPress

И так, для начало приведу код стандартного файла .htaccess для WordPress:

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

 

# END WordPress

В данном файле по факту нет ничего примечательного и как обычно, касательно CMS WordPress, его нужно дописывать, дабы оптимизировать наш сайт.

Правильная настройка файла htaccess для WordPress

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

# BEGIN WordPress <IfModule mod_rewrite.c> Options +FollowSymLinks -Indexes RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteRule (.+)/feed /$1 [R=301,L] RewriteRule (.+)/attachment /$1 [R=301,L] RewriteRule (.+)/comment-page /$1 [R=301,L] RewriteRule (.+)/comments /$1 [R=301,L] RewriteRule (.+)/trackback /$1 [R=301,L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> <Files wp-config.php> # Запрещаем всем доступ к файлу wp-config.php order allow,deny deny from all </Files> <Files .htaccess> order allow,deny deny from all </Files> # END WordPress

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

# BEGIN WordPress

<IfModule mod_rewrite.c>

Options +FollowSymLinks -Indexes

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteRule (.+)/feed /$1 [R=301,L]

RewriteRule (.+)/attachment /$1 [R=301,L]

RewriteRule (.+)/comment-page /$1 [R=301,L]

RewriteRule (.+)/comments /$1 [R=301,L]

RewriteRule (.+)/trackback /$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

<Files wp-config.php>

# Запрещаем всем доступ к файлу wp-config.php

order allow,deny

deny from all

</Files>

<Files .htaccess>

order allow,deny

deny from all

</Files>

 

# END WordPress

Ну, а теперь разберем все части кода, что мы добавили в стандартный вариант файла.

Эта часть кода отвечает за 301 редирект со страниц дублей, дабы не распылять вес и не создавать себе проблем в виде соплей в google:

RewriteRule (.+)/feed /$1 [R=301,L] RewriteRule (.+)/attachment /$1 [R=301,L] RewriteRule (.+)/comment-page /$1 [R=301,L] RewriteRule (.+)/comments /$1 [R=301,L] RewriteRule (.+)/trackback /$1 [R=301,L]

RewriteRule (.+)/feed /$1 [R=301,L]

RewriteRule (.+)/attachment /$1 [R=301,L]

RewriteRule (.+)/comment-page /$1 [R=301,L]

RewriteRule (.+)/comments /$1 [R=301,L]

RewriteRule (.+)/trackback /$1 [R=301,L]

Данная часть отвечает за то, что бы закрыть пользователям листинг файлов и папок на сервере:

Options +FollowSymLinks -Indexes

Options +FollowSymLinks -Indexes

Защита файла wp-config.php от несанкционированного доступа, что бы не утащили данные от нашей базы данных:

<Files wp-config.php> # Запрещаем всем доступ к файлу wp-config.php order allow,deny deny from all </Files>

<Files wp-config.php>

# Запрещаем всем доступ к файлу wp-config.php

order allow,deny

deny from all

</Files>

Эта часть кода отвечает за защиту самого файла htaccess, как уже говорилось выше от несанкционированного доступа:

<Files .htaccess> order allow,deny deny from all </Files>

<Files .htaccess>

order allow,deny

deny from all

</Files>

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

Теги: пример правильного файла htaccess для вордпресс

Подпишитесь и получайте новые статьи мгновенно на электронную почту

the-sever.ru

WordPress .htaccess — полезные советы | WPNICE

Всем привет. Сегодняшняя статья посвящена файлу .htaccess и его настройке. Многие задают вопросы относительно этого файлика и надеюсь, эта статья будет вам в помощь.  Итак, файл .htaccess – это конфигурационный файл, который позволяет вам управлять файлами и папками в действующей директории и подкатегориях.

Большинство WordPress-пользователей первый раз знакомятся с этим файлом, когда пытаются кастомизировать вид постоянных ссылок. Чтоб заполучить те симпатичные ссылки, которые мы все знаем и любим (например, http://www.site.com/sample-post/ вместо http://www.site.com/?p=123), нам нужно добавить что-то типа этого в файл .htaccess:

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

# BEGIN WordPress

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ - [L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule . /index.php [L]

</IfModule>

# END WordPress

Впрочем, эта проблема сейчас решается и прямо из админки WP.

Но если у вас вообще нет файла  .htaccess, то вы можете создать его самостоятельно и загрузить на сервер. Все, что нужно сделать, это создать чистый файл, назвать его .htaccess и загрузить  в корневую директорию вашей инсталляции WordPress. Не забудьте пропечатать точку в начале файла (сохраняем файл, как .htaccess, а не htaccess). Также обязательно стоит открыть файл для записи информации, чтоб WordPress смог добавить код правильных пермалинков в ваш .htaccess. WordPress.org  советует выставить права 644для файла .htaccess.

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

Должно быть, вы заметили, что в примере с пермалинками, приведенном  выше, код начинается с  # BEGIN WordPress и заканчивается с # END WordPress. WordPress может обновлять любой код, помещенный между этих тегов. Таким образом, любой сниппет, предложенный в этой статье, вы можете поместить либо в начало, либо в конец вашего файла  .htaccess  (например, перед # BEGIN WordPress  или после # END WordPress).

Будьте внимательны!

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

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

1. Защитите .htaccess

Так как .htaccess дает так много контроля над папками и файлами,  важно скрыть его от чужих глаз. Приведенный ниже сниппет убережет ваш  .htaccess от хакеров. Как всегда, вы можете отредактировать ваш файл по FTP.

<files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>

<files ~ "^.*\.([Hh][Tt][Aa])">

order allow,deny

deny from all

satisfy all

</files>

2. Обезопасьте WP-Config.php

Еще один важный файл – это wp-config.php, ведь он содержит информацию об авторизации для базы данных WordPress, а также другие важные настройки сохранения, так что его нужно убрать из общего доступа.

<files wp-config.php> order allow,deny deny from all </files>

<files wp-config.php>

order allow,deny

deny from all

</files>

3. Защитите /Wp-Content/

Директория wp-content – одна из самых важных  областей вашего WordPress-сайта. Это то место, где хранятся такие жизненно важные файлы, как темы, плагины, загруженные медиа-файлы и файлы кэша, и потому туда так хотят добраться хакеры.

Вы можете закрыть данную директорию от спаммеров и хакеров, создав отдельный .htaccess  и добавив туда данный код:

Order deny,allow Deny from all <Files ~ ".(xml|css|jpe?g|png|gif|js)$"> Allow from all </Files>

Order deny,allow

    Deny from all

    <Files ~ ".(xml|css|jpe?g|png|gif|js)$">

    Allow from all

    </Files>

Вам нужно загрузить данный отдельный файл .htaccess  в главную директорию wp-content, например, www.yourwebsite.com/wp-content/. Теперь  сюда можно загрузить только файлы с расширениями XML, CSS, JPG, JPEG, PNG, Gif и  Javascript, а все остальные типы файлов будут удалены.

4. Заблокируете файлы, не предназначенные для пользователей

Закрыть доступ к определенным файлам можно, добавив этот код в .htaccess:

# Block the include-only files. <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^wp-admin/includes/ - [F,L] RewriteRule !^wp-includes/ - [S=3] RewriteRule ^wp-includes/[^/]+\.php$ - [F,L] RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L] RewriteRule ^wp-includes/theme-compat/ - [F,L] </IfModule>

# Block the include-only files.

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /

RewriteRule ^wp-admin/includes/ - [F,L]

RewriteRule !^wp-includes/ - [S=3]

RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]

RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]

RewriteRule ^wp-includes/theme-compat/ - [F,L]

</IfModule>

5. Ограничьте доступ к админской области

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

# Limit logins and admin by IP <Limit GET POST PUT> order deny,allow deny from all allow from 12.34.56.78 </Limit>

# Limit logins and admin by IP

<Limit GET POST PUT>

order deny,allow

deny from all

allow from 12.34.56.78

</Limit>

Не забудьте сменить  12.34.56.78 на ваш собственный IP-адрес (вы можете узнать ваш IP на сайте What Is My IP?). Затем загрузите файл в папку /wp-admin/  вашего сайта, например, www.ваш сайт.com/wp-admin/.

Теперь доступ к админ-области WordPress есть только у вас. Также можно добавить дополнительные IP адреса для других админов и прочих членов команды. Для этого можно добавить дополнительные строки или перечислить их IP-адреса в главной строке, разделяя их точками.

allow from 12.34.56.78, 98.76.54.32, 19.82.73.64

allow from 12.34.56.78, 98.76.54.32, 19.82.73.64

6.  Забаньте недоброжелателей

Если вы знаете IP-адрес недоброжелателя, то используя сниппет, приведенный ниже, вы можете забанить его навсегда.

<Limit GET POST> order allow,deny deny from 123.456.78.9 deny from 987.654.32.1 allow from all </Limit>

<Limit GET POST>

order allow,deny

deny from 123.456.78.9

deny from 987.654.32.1

allow from all

</Limit>

7. Направить посетителей на страницу обслуживания.

Такие плагины, Maintenance, хороши, когда нужно отобразить временное сообщение о том, что сайт находится в разработке, в том случае, если вы что-то там меняете или обновляете движок. Но данные плагины бесполезны в случае возникновения Белого экрана смерти WordPress. Так что, если вы  желаете подготовиться к худшему, рекомендуется создать базовую HTML-страницу, названную  maintenance.html и сообщающую  пользователю о том, что с сайтом у вас сейчас проблемы, и он скоро вернется в онлайн. В случае Белого экрана, просто добавьте данный сниппет в ваш файл .htaccess.

RewriteEngine on RewriteCond %{REQUEST_URI} !/maintenance.html$ RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123 RewriteRule $ /maintenance.html [R=302,L]

RewriteEngine on

RewriteCond %{REQUEST_URI} !/maintenance.html$

RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123

RewriteRule $ /maintenance.html [R=302,L]

Вам нужно будет подредактировать код под ваш сайт: изменить имя файла html на ваше название, а также его местоположение во второй и четвертой строках. Вам также нужно добавить ваш собственный IP-адрес в третьей строке для того, чтоб сохранить доступ к веб-сайту для себя и отобразить сообщение для остальных. Код использует 302 редирект для закрытия страницы от индексации.

8. Запретите просмотр папок в браузере

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

# disable directory browsing Options All -Indexes

# disable directory browsing

Options All -Indexes

9. Включение кэширования браузера

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

## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule> ## EXPIRES CACHING ##

## EXPIRES CACHING ##

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/jpg "access 1 year"

ExpiresByType image/jpeg "access 1 year"

ExpiresByType image/gif "access 1 year"

ExpiresByType image/png "access 1 year"

ExpiresByType text/css "access 1 month"

ExpiresByType application/pdf "access 1 month"

ExpiresByType text/x-javascript "access 1 month"

ExpiresByType application/x-shockwave-flash "access 1 month"

ExpiresByType image/x-icon "access 1 year"

ExpiresDefault "access 2 days"

</IfModule>

  

## EXPIRES CACHING ##

10. Редирект URL

301-е перенаправления сообщают поисковым машинам, что ссылки навсегда перенесены в другое место. Их можно использовать, когда нужно перенаправить страницу, папку или даже целый веб-сайт. Также редирект используется, когда нужно изменяется URL страницы. Такое может случиться из-за смены домена, структуры пермалинков или же слагов страниц.

Для изменения  местоположения, нужно всего лишь добавить строчку с редиректом 301 вслед за старой локацией, а потом добавить новую локацию. Вот как это работает:

Redirect 301 /oldpage.html http://www.yourwebsite.com/newpage.html Redirect 301 /oldfolder/page2.html /folder3/page7.html Redirect 301 / http://www.mynewwebsite.com/

Redirect 301 /oldpage.html http://www.yourwebsite.com/newpage.html

Redirect 301 /oldfolder/page2.html /folder3/page7.html

Redirect 301 / http://www.mynewwebsite.com/

11. Отключите хотлинкинг

Хотлинкинг – это процесс вставки картинки напрямую с одного сайта на другой. Иными словами, вместо того, чтоб залить картинку на хостинг, злоумышленник просто вставляет ссылку на картинку, которая находится  на вашем сайте, в результате чего ваш сайт загружается медленнее, а тарифы хостинга растут в цене.  Хотлинкинга можно избежать, позволив выдергивать картинки только тем сайтам, владельцем которых вы являетесь. Добавьте код, приведенный ниже, в файл .htaccess, но убедитесь в том, что изменили URL на адреса собственных сайтов.

RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourwebsite.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourotherwebsite.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ http://i.imgur.com/g7ptdBB.png [NC,R,L]

RewriteEngine on

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourwebsite.com [NC]

RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourotherwebsite.com [NC]

RewriteRule \.(jpg|jpeg|png|gif)$ http://i.imgur.com/g7ptdBB.png [NC,R,L]

Теперь, когда кто-то просматривает ваше изображение через другой URL, то он просто будет видеть изображение, указанное в последней строчке кода. Это изображение можно заменить на что угодно.

Замечание: отключение хотлинкинга может привести к проблемам с отображением изображений в вашем RSS-фиде.

wpnice.ru

Как создать и настроить .htaccess в Wordpress

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

Что же такое файл .htaccess?

.htaccess предназначен не только для WordPress, но для любого вебсайта, расположенного на веб-сервере Apache. При установке WordPress, этот файл в большинстве случаев создается по умолчанию, но остается в скрытом режиме в корневом каталоге вашего сайта. Временами этот файл вообще отсутствует, и тогда вам необходимо вручную создать файл .htaccess. Мы можем использовать обычный текстовый редактор, чтобы обновлять или удалять содержимое этого файла. В WordPress стандартное наполнение данного файла выглядит следующим образом:

# BEGIN WordPress RewriteRule ^index\.php$ – [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] # END WordPress

Если у вас возникает вопрос о том, как отредактировать прямые ссылки в WordPress и придать им формат /%postname?, и вы даже нашли какой-то код, который нужно вставить в файл .htaccess (но не можете найти файл в консоли вашей системы или корневом каталоге) то сегодня я покажу вам, как решить эту проблему.

Как создать файл .htaccess для WordPress?

В большинстве версий установки WordPress, файл .htaccess присутствует по умолчанию в корневом каталоге. Если вы используете FTP-клиент Filezilla, то можете обратиться за помощью к уже существующему руководству о том, как отредактировать файл .htaccess. Все, что вам нужно сделать, это кликнуть по пункту отображения скрытых файлов. Если же необходимый нам файл вообще отсутствует, то вы можете просто создать его с помощью блокнота (htaccess.txt), а затем переименовать его в .htaccess. Убедитесь, что название файла именно такое, а не .htaccess.txt. Если вы используете  Windows, то можете отключить опцию скрывания расширения файлов. Как только переименуете файл, загрузите его в корневой каталог WordPress, и отредактируйте в соответствии с вашими требованиями. Если у вас возникли проблемы с изменением имени файла, просто загрузите файл htaccess.txt на сервер, и измените имя уже на сервере.

Стандартные для безопасности права доступа к файлу .htaccess – 644, но в случае изменения прямых ссылок посредством консоли WP, системе будет закрыт доступ к этому файлу. Вы можете изменить их на 777. Но не забудьте затем вернуть значение 644, иначе это может вызвать серьезные пробелы в безопасности сайта.

Алексей Повловский

web-profy.com

Возможности файла .htaccess в WordPress

На сайте WordPress имеется файл, именуемый как .htaccess. Многие пользователи не предают ему особого внимания и не используют все его возможности. На самом деле файл .htaccess – это дополнительные конфигурации сервера Apache и подобных ему. Что позволяет повысить эффективность сайта, безопасность и внести другие различные расширения. В статье рассмотрим несколько полезных трюков с файлом .htaccess на WordPress.

Примечание: До внесения каких-либо изменений в файл .htaccess сделайте его резервную копию. Просто подключитесь к сайту по FTP и скопируйте файл себе на компьютер. Это в случае если допустите ошибку или что-то пойдет не так, то всегда сможете все вернуть на свои места.

Если вы не обнаружите файла .htaccess в своем корневом каталоге, то его необходимо создать. Для этого откройте блокнот на компьютере и сохраните файл с именем .htaccess. Будьте внимательны не ошибитесь с названием. Стандартное содержимое .htaccess:

# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress

Итак, начнем…

Ограничить доступ к WordPress админке по IP-адресу.

Как говорилось выше файл .htaccess можно использовать для защиты сайта. В этом случае мы защитим WordPress админку путем ограничения доступа по IP-адресу. Скопируй ниже представленный код в свой .htaccess:

AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "WordPress Admin Access Control" AuthType Basic <LIMIT GET> order deny,allow deny from all # whitelist Syed's IP address allow from xx.xx.xx.xxx # whitelist David's IP address allow from xx.xx.xx.xxx # whitelist Amanda's IP address allow from xx.xx.xx.xxx # whitelist Muhammad's IP address allow from xx.xx.xx.xxx # whitelist Work IP address allow from xx.xx.xx.xxx </LIMIT>

Измените значения xx.xx.xx.xxx на свой IP-адрес если вы имеете несколько адресов, то их также добавьте в список.

Отключаем просмотр каталогов WordPress

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

Отключаем php в определенном каталоге WordPress

В взломанные сайты WordPress обычно помещают backdoor файлы. Бэкдор – это программа, файлы, скрипт, который устанавливается взломщиком на взломанную систему с целью повторного доступа. В переводе backdoor, черный ход. Эти файлы часто затачивают под ядро WordPress и помещают в каталоги /wp-includes/ или /wp-content/uploads/. Чтобы повысить безопасность можно отключить поддержку PHP в нужных папках.

Создайте чистый файл .htaccess и поместите в него следующий код:

<Files *.php> deny from all </Files>

После чего загрузите его в такую директорию /wp-content/uploads/ и /wp-includes/.

Защита файла config.php в WordPress

Важным файлом WordPress является также config.php в нем содержится информация о БД. Чтобы обезопасить и защитить от несанкционированного доступа нужно добавить этот код в .htaccess.

<files wp-config.php> order allow,deny deny from all </files>

Редирект 301 в WordPress

Редирек используется в случае перенаправления с одного адреса на другой. Такая необходимость возникает при смене домена или просто переадресации URL. К примеру, переадресация с приставкой «www» и наоборот. Код нужно поместить в .htaccess.

RewriteEngine on RewriteCond %{HTTP_HOST} ^www.вашдомен.сwww RewriteRule ^(.*)$ http://вашдомен.безwww/$1 [R=301,L]

Редирект при смене домена.

RewriteEngine On RewriteCond %{HTTP_HOST} word.ru RewriteRule (.*) http://новыйдомен.ру/$1 [R=301,L]

Блокируем доступ на сайт WordPress по IP

Если вы замечаете какие-то подозрительные посещения на вашем сайте и хотите заблокировать их. То просто добавьте код в.htaccess

<Limit GET POST> order allow,deny deny from xxx.xxx.xx.x allow from all </Limit>

Изменив xxx.xxx.xx.x на IP-адрес, который нужно заблокировать.

Отключаем Hotlinking в WordPress

Отключения хотлинга позволит запретить использования ваших изображений удаленно. Подробнее читайте в статье: Как улучшить скорость WordPress.

Защиты файла .htaccess от нежелательного доступа

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

<files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files>

Думаю выше из перечисленных возможностей файла .htaccess в WordPerr можно найти что-то полезное для себя.

Источник: http://www.wpbeginner.com/wp-tutorials/9-most-useful-htaccess-tricks-for-wordpress/

wordsmall.ru


Смотрите также

Prostoy-Site | Все права защищены © 2018 | Карта сайта