20 полезных приёмов с htaccess для WordPress

Содержание

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

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

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

1. Чёрный список IP адресов нежелательных пользователей и ботов

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

<Limit GET POST PUT>
order allow,deny
allow from all
deny from 123.456.789
deny from 93.121.788
deny from 223.956.789
deny from 128.456.780
</LIMIT>

Источник: smashingmagazine.com

2. Переадресация постоянных ссылок вида «день и название» на /%postname%/

Первое, что необходимо сделать это войти на страницу администрирования WordPress, перейти к Settings > Permalinks и выбрать custom. Заполните поле строкой /%postname%/.
Ваши постоянные ссылки теперь будут выглядеть примерно так:

http://www.yourblog.com/name-of-the-post

Теперь нам нужно перенаправить все обратные ссылки, использующие старую структуру постоянных ссылок, на ссылки с новой структурой. Чтобы это сделать, вы должны будете отредактировать .htaccess файл, расположенный в корневом каталоге WordPress.
Будьте внимательны при редактировании .htaccess: всегда заранее создавайте резервную копию!

Вставьте следующую строку в свой .htaccess:

RedirectMatch 301 /([0-9]+)/([0-9]+)/([0-9]+)/(.*)$

Источник: wprecipes.com

3. Переадресация посетителей на страницу обслуживания

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

Источник: woueb.net

4. Переадресация www на не-www или наоборот

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.yourblogname.com [NC]
RewriteRule ^(.*)$ http://yourblogname.com/$1 [L,R=301]
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^yourblogname.com [NC]
RewriteRule ^(.*)$ http://www.yourblogname.com/$1 [L,R=301]

5. Установка правильного url вручную при помощи .htaccess

# Установка правильного url
RewriteEngine On
RewriteCond %{HTTP_HOST} ^yourblogname\.com$ [NC]
RewriteRule ^(.*)$ http://www.yourblogname.com/$1 [R=301,L]

6. Переадресация WordPress лент на FeedBurner

Отличный хак переадресует с http://www.yoursite.com/feed на http://feeds.feedburner.com/yoursite.

# временная переадресация лент контента wordpress к feedburner
<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
 RewriteRule ^feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/webanddesigners [R=302,NC,L]
</IfModule>

Источник: perishablepress.com

7. Переадресация WordPress лент комментариев на FeedBurner

# временная переадресация лент комментариев wordpress к feedburner
<IfModule mod_rewrite.c>
 RewriteEngine on
 RewriteCond %{HTTP_USER_AGENT} !FeedBurner    [NC]
 RewriteCond %{HTTP_USER_AGENT} !FeedValidator [NC]
 RewriteRule ^comments/feed/?([_0-9a-z-]+)?/?$ http://feeds.feedburner.com/webanddesigners [R=302,NC,L]
</IfModule>

Источник: perishablepress.com

8. SEO-благоприятная 301 переадресация

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

#SEO благоприятная 301 переадресация
Redirect 301 /abc/file.html http://www.yourblogname.com/def/file.html

9. Кэширование с htaccess

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

FileETag MTime Size
ExpiresActive on
ExpiresDefault "access plus x seconds"

10. Разрешите доступ к директории wp-admin только своему IP адресу

Замените xx.xx.xx.xx на свой IP адрес, что позволит только вашему IP получить доступ к директорииwp-admin.

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

11. Запрет комментирования, при отсутствии referrer у запроса

Простой хак для защиты от спама в блоге.

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]

Источник: wprecipes.com

12. Самый простой способ забанить спамеров WordPress

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

## USER IP BANNING
<Limit GET POST>
order allow,deny
deny from 200.49.176.139
allow from all
</Limit>

13. Переадресация посетителей на страницу технического обслуживания

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

Источник: wprecipes.com

14. Запрет доступа к файлу wp-config.php.

Файл wp-config.php в WordPress включает всю важную информацию, такую, как название базы данных.

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

Источник: tdot-blog.com

15. Ограничение размера загрузок файлов до 20MB

Чтобы ограничить размер загрузки файла в wordpress до 20 Мб, используйте следующий код.

# ограничить загрузки файлов до 10mb
LimitRequestBody 10240000

16. Назначение своих страниц для HTTP ошибок

Если вы хотите переадресовывать своих посетителей каждый раз, когда они попадают на 404 HTTP ошибку, используйте этот код:

# нестандартные страницы ошибок
ErrorDocument 401 /err/401.php
ErrorDocument 403 /err/403.php
ErrorDocument 404 /err/404.php
ErrorDocument 500 /err/500.php

Источник: vortexmind.net

17. Добавление слэша в URL

Чтобы добавить слэш в конец своего URL, добавьте следующий код в файл .htaccess.

#добавление завершающего слэша
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !#
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$  [L,R=301]

18. Каталоги, защищённые паролем

Простой способ защитить паролем директорию блога

AuthType Basic
AuthName "restricted area"
AuthUserFile /usr/local/var/www/html/.htpasses
require valid-user

19. Директива CheckSpelling

Эта директива может быть полезна для автоматического исправления простых орфографических ошибок в URL

<IfModule mod_speling.c>
CheckSpelling On
</IfModule>

Источник: vortexmind.net

20. Быстрая защита файлов плагинов

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

<Files ~ "\.(js|css)$">
  order allow,deny
  allow from all
</Files>

Выводы

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

Источник: webanddesigners.com