Супер возможности файла .htaccess для WordPress
Добрый вечер, друзья! Вот и пришла пора обсудить такой важный файл - как .htaccess для WordPress, который необходим для правильной работы блога и внедрения дополнительных функций. Многие начинающие веб-мастера даже не догадываются о существовании данного файла и тем более о его предназначении.
А некоторые, опасаются самостоятельно его настраивать. Что в принципе и правильно! Не разбираешься не лезь =)
Статьи по теме:
- Правильный файл robots.txt для WordPress
- Защити свой блог по максимуму!
- Делаем мобильную версию на раз-два!
Кто такой .htaccess и зачем?
Начнем с того, что представляет из себя этот .htaccess и какую пользу он несет? Этот файлик применяется для дополнительной конфигурации web-сервера Apache и ему подобных. Данный файл позволяет выполнять следующие функции:
- В разных директориях задает определенные конфигурации;
- Заблокировать пользователя через адрес IP;
- Осуществлять управление поисковыми роботами;
- Изменять имена индексных файлов;
- Ограничивать доступ к папкам посредством логина и пароля;
- Перенаправлять людей на сторонние ресурсы (редирект);
- Не давать просматривать файлы любого вида и закрывать доступ к ним;
- Создавать странички ошибок 500, 404 и 403.
Стандартный образец .htaccess для WordPress
По идеи, сам файл уже должен присутствовать на Вашем сервере в корневой директории. Поэтому зайдите туда и скопируйте его на ваш ПК.
Перед любым вмешательством в .htaccess, рекомендую сделать резервную копию файла! Достаточно малейшей ошибки и Ваш блог накроется медным тазом.
Если не умеете делать резервные копии, то прочитайте эту статью... А я продолжаю!
Как поступить, когда .htaccess отсутствует? Делаем следующее...
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
Теперь копируем все это дело и сохраняем... Перекидываем обратно в корневую директорию ресурса на хостинге.
Убираем дубли WordPress с помощью .htaccess
Лично я использую .htaccess для перенаправления посетителей или поисковых ботов с одного адреса на другой (редирект). Это в первую очередь необходимо для борьбы с дублированием контента... Если не знаете про что идет речь, то почитайте статью моего партнера - тут, в поиске наберите "дубли", там несколько статей!
Используем .htaccess для борьбы с дублями:
[sociallocker]
# BEGIN WordPress
RewriteEngine On
RewriteBase /
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} ^replytocom= [NC]
RewriteRule (.*) $1? [R=301,L]
RewriteCond %{QUERY_STRING} ^attachment_id= [NC]
RewriteRule (.*) $1? [R=301,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
[/sociallocker]
Примеры функций .htaccess для WordPress
Внимание! Данные коды подойдут не для всех из-за особенностей Вашего хостинг-провайдера!
Создадим перенаправление (редирект) на другой домен:
RewriteRule ^(.*)$ http://новый_доменс.ru/$1 [R=301,L]
Перенаправление с www.доменс.ru на основной домен сайта доменс.ru
RewriteEngine On
RewriteCond %{HTTP_HOST} !^доменс\.ru$ [NC]
RewriteRule ^(.*)$ http://доменс.ru/$1 [L,R=301]
Блокировка доступа к ресурсу для всех:
deny from all
Блокировка конкретных юзеров к ресурсу по IP:
order allow,deny
deny from 555.555.555.555
allow from all
А вот так, наоборот, открываем доступ к ресурсу для определенных IP
order deny,allow
deny from all
allow from 555.555.555.555
Кэшируем данные в браузере — Сам Google советует применять кэширование информации, чтобы ускорить ресурс. Смысл данной настройки в том, что браузер единожды получает определенные виды данных и далее забирает их из кэша, а не подгружает их заново. Благодаря этому ресурсу добавляется заветная скорость загрузки.
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/png "access plus 1 years"
Если первый вариант не сработал, попробуйте вот этот:
ExpiresActive on
ExpiresDefault "access plus 1 year"
Блокируем доступ к наиважнейшим модулям
С целью обеспечения дополнительной безопасности ресурса, мы можем заблокировать доступ, допустим к файлу .htaccess. Для этого примените такие строки:
order allow,deny
deny from all
GZIP-сжатия для: HTML, CSS, JS - ускоряем загрузку блога:
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text\.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image\.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
Теперь сделаем кеширование файлов:
Header set Cache-Control "max-age=2592000"
Хочу еще раз предупредить о том, что .htaccess для WordPress не игрушка! Вы все делаете на свой страх и риск! Если не уверены, лучше нанять спеца!
До следующих уроков!
PS: Кстати, создал канал на Telegram (https://telegram.me/savme_blog) и приглашаю Вас подписаться!