7 полезных .htaccess сниппетов для Wordpress и Drupal блога
С помощью .htaccess файла можно делать очень любопытные вещи. Этот небольшой файлик лежит в корневой директории сайта и позволяет задавать настройки Apache сервера. Далее я приведу примеры того, как посредством него можно добавить полезные с точки зрения функциональности, юзабилити и безопасности фичи для Wordpress и Drupal блога.
Файл .htaccess редактируется в обычном WordPad, только не забудьте предварительно на всякий случай сделать его резервную копию.
1. Перенаправление RSS фида на FeedBurner с помощью .htaccess
Многие блоггеры используют в качестве RSS фидера популярный сервис 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-]+)?/?$ <a href="http://feeds2.feedburner.com/cookieslovers" title="http://feeds2.feedburner.com/cookieslovers">http://feeds2.feedburner.com/cookieslovers</a> [R=302,NC,L]
</IfModule>
Не забудьте исправить 6 строчку с адресом фида на ваш фид.
2. Использование кеширования браузером
Хороший способ увеличить скорость загрузки страниц браузером - это использовать его встроенное кеширование. Можно сделать так, чтобы в ответ на запросы браузера изображений, файлов стилей CSS и скриптов JavaScript высылался 304 not modified HTTP хедер с длительным сроком кеширования, скажем год - тогда при повторном заходе на ваш сайт браузер достанет все эти данные из своего кеша вместо того, чтобы тратить ваш трафик.
<ifmodule mod_expires.c>
<filesmatch "\.(jpg|gif|png|css|js)$">
ExpiresActive on
ExpiresDefault "access plus 1 year"
</filesmatch>
</ifmodule>
3. Сжатие статичных данных
Еще один способ сэкономить трафик вашего сайта - автоматически сжимать передаваемые данные на стороне сервера и осуществлять обратное действие на стороне клиента. Для представленного способа нужно, чтобы хостинг поддерживал mod_deflate или mod_gzip.
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_item_include file \.js$
mod_gzip_item_include file \.css$
</IfModule>
Если хостинг не поддерживает ни mod_deflate, ни mod_gzip, то для Drupal можно воспользоваться, например, этим методом.
4. Фильтруем комментарии от спам ботов
Спам боты оставляют свои надоедливые комментарии, переходя на сайт напрямую без рефёреров - они просто выполняют запросы к сайтам из своего спам-листа. А это значит, что можно отфильтровать их комментарии, запретив доступ к странице комментариев напрямую. Пример для Wordpress:
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]
5. Перенаправляем поисковики на зарезервированную страницу без индексации во время обновления сайта
Во время обновления темы блога или версии модулей/cms можно сделать так, чтобы все запросы сайта переходили на специально созданную и красиво задизайненную html страницу, при этом проставив ей 302 HTTP ответ, чтобы поисковики её не проиндексировали.
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]
Во второй строке необходимо прописать свой IP адрес сайта.
6. Защита от утечки контента и трафика
Есть такой термин - hotlinking - он употребляется, когда говорят об отображении медиа контента (например, картинок) чужого сайта на своём сайте напрямую без перезаливки на свой хостинг. Если вы не хотите, чтобы контент, размещенный, на вашем сайте использовался таким образом, расходуя ваш трафик, можно запретить это в .htaccess:
#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]
По адресу /images/nohotlink.jpg предлагается расположить картинку, красочно иллюстрирующую ваши мысли по поводу хотлинкинга.
7. Баним спамеров по IP
Самый простой метод блокировки спам ботов - запретить им доступ к сайту вообще, прописав в .htaccess их айпи в бан лист.
order allow,deny
deny from xx.xx.xx.xx
allow from all
</Limit>
Источники:
http://www.wprecipes.com/how-to-redirect-wordpress-rss-feeds-to-feedburn...
http://www.wprecipes.com/how-to-protect-your-wordpress-blog-from-hotlinking
http://lorelle.wordpress.com/2007/09/20/the-easiest-way-to-ban-a-wordpre...
http://www.catswhocode.com/blog/10-awesome-htaccess-hacks-for-wordpress
http://drupalcookbook.ru/recept/szhatie-trafika
- 2840 просмотров

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