Путь к статье: Главная » Для сайта

Этот файл служит для настройки и внесения коррективов в работу веб-сервера Apachе. Его директивы могут распространяться только на папки и файлы той директории в которой находиться он сам, поэтому файл .htaccess обычно для простого блога на WordPress ложится в корневую папку.

1. Перенаправляем подписчиков RSS на feedburner

Иногда бывают такие случаи, что обычную ленту добавляют в feedburner через некоторые время, когда у сайты появились уже подписчики. Чтобы их не терять, предлагаю использовать такой код в файле .htaccess:

<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/cospi[R=302,NC,L]
</IfModule>

Не забудьте адрес Фида поменять на свой.

2. Используем кэш браузера

Кэш браузера или Leverage browser caching, позволяет ощутимо ускорить скорость загрузки сайта, работает по принципе - если посетитель уже загрузил один раз сайт, то картинки и.т.п. у него сохраняться и в будущем не будут загружаться заново.

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

PS: У меня этот код не заработал, что-то с настройками VPS. Но у многих работает, так что используйте. Проверить включился ли кэш браузера, можно сервисом Gtmetrix.com

3. Запрещаем комментирование если отсутствует referrer

Часто бывает, что программы для спамы обращаются на прямую к файлу wp-comments-post.php не имея такого показателя как referrer, можно вот на этом моменте отловить часть спам комментариев.

В коде, мой домен замените на свой.

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

4. Перенаправить пользователя на страницу-заглушку

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

В данном случае используется 302 редирект, он говорит ПС что страница временная и не надо её индексировать. То есть не будет ни каких склеек страниц и.т.п.

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

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

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?cospi\.ru/[NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/hotlink.jpg [L]
  • cospi.ru меняем на свой адресс;
  • /images/hotlink.jpg - путь к вашей картинки, которая будет показываться на чужих сайтах.

6. Разрешить доступ к wp-admin только с Вашего IP

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

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

Нюансы:

  • IP замените на свой;
  • Можно добавить ещё дополнительный IP, путём добавления ещё строчек allow from 192.168.0.1.

7. Дополнительная блокировка спамеров в WordPress

Наоборот можно запретить определённый IP, с которых часть приходит спам на блог.

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

Добавить дополнительные IP, можно путём добавления ещё строчек deny from 200.49.176.139.

8. Создаём страницу 404

Изначально у WordPress всё работает нормально, но иногда возникают проблемы с правильной отдачей ошибки 404. Поэтому можно добавить вот такой код:

ErrorDocument 404 /404.html

И когда будет возникать ошибка 404, пользователь будет перемещён на страницу 404.html.

9. Склейка домена

Для правильной SEO оптимизации сайта, очень важно чтоб для Поисковых систем был доступен только один домен, в моём случае это cospi.ru, а не www.cospi.ru, www.cospi.ru/index.php и.т.п. Данный редирект, поможет Вам склеить домены:

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

Данный пример редиректит все запросы без префикса www на главный домен - www.domain.com.


Поделитесь записью:
Комментарии
  1. kavelin

    Спасибо за leverage browser caching — только из вашей статьи узнал, что кэшем браузера посетителей можно управлять. http://gtmetrix.com/ — шикарный сервис, за него отдельное спасибо. btw, пришлось яву отключить, чтобы скопировать код для .htaccess — так специально сделано?

  2. nytrox

    А куда исчезла статья «Фото интервью с офиса Яндекс Симферополь»? Хотел ещё разок прочитать)

  3. Ксения

    А если использовать Защиту блога от хотлинков, то и в RSS картинки публиковаться не будут? 🙁 Я правильно поняла?

  4. Olega

    Здравствуйте. После включения апач мне Page Speed рекомендует «Следующие кэшируемые ресурсы имеют короткий срок действия. В дальнейшем следует указать для следующих ресурсов срок действия не менее недели» Пробовал ковырять, не получилось. Правда дает с морды 76/100. А некоторые, при раскрытии (не указан срок истечения действия). Не подскажете решение? Буду благодарен.

  5. Cospi

    Многие хостинги не поддерживают такое включение кэширования, у меня оно тоже не работает на сервере.

  6. Dmitry

    Нашел в статье ответ на свой вопрос про склейку доменов, кулл)) PS: исправьте «доступен только один «доме»

  7. salatkrabov

    У меня вопрос такого плана. Есть 2 условия к примеру нужно мне перенаправить приходящих с браузеров Опера в дну сторону, а тех кто с браузера Мозила в иную. Как это сделать? Используя файл .htaccess

  8. Cospi

    Вам надо перенаправлять по User Agent, примерно во так:

    RewriteCond %{HTTP_USER_AGENT} ^Mozilla.* RewriteRule ^/$ /homepage.max.html [L]

    Это для мозилы, для других браузеров поищите в Google

  9. Tania

    при ошибке 404.. Для сервера типа Apache должен быть файл у папки со страницами сайта и названием «. htaccess» и содержанием файла хотя бы: ErrorDocument 404 /?error=404

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *