—»     —»   Более 10 вариаций .htaccess для оптимизации вашего веб-сайта
  Раздел: Безопасность, Поисковая оптимизация   Комментариев: 5  

Более 10 вариаций .htaccess для оптимизации вашего веб-сайта



Файл сервера Apache, .htaccess, находится прямо в сердце вашего сервера и заведует тем, каким образом ваш веб-сайт будет реагировать на действия, произведенные посетителями. Я собрал для вас более 10 превосходных настроек данного файла, которые помогут вам оптимизировать работу веб-сайта: перенаправление, воспроизведение, простота в использовании! Наслаждайтесь!

Все нижеприведенные сниппеты можно просто вставлять в файл .htaccess, который расположен в корневой папке вашего веб-сервера Apache.

Внимание: всегда создавайте резервную копию файла перед тем, как изменять его!

Принудительное использование обратного слеша

Многие клиенты просят меня всегда использовать обратный слеш на конце URL. Якобы это хорошо влияет на сайт с точки зрения SEO. Следующий отрывок кода сделает так, что обратный слеш будет всегда присутствовать в конце ссылок на вашем сайте.

<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} /+[^\.]+$
RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]
</IfModule>

Предотвращение хотлинкинга

Хотлинкинг (использование изображений с чужого сайта, нежели со своего хоста) – это, к сожалению, распространенная практика, которая может израсходовать значительную часть вашего пропускного канала. Этот полезный сниппет будет перенаправлять все заимствованные изображения на одну указанную картинку (указана на 6 линии).

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]

Перенаправление мобильных устройств

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

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/m/.*$
RewriteCond %{HTTP_ACCEPT} "text/vnd.wap.wml|application/vnd.wap.xhtml+xml" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "dang|doco|eric|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT}  "maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "wapp|wapr|webc|winw|winw|xda|xda-" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "up.browser|up.link|windowssce|iemobile|mini|mmp" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "symbian|midp|wap|phone|pocket|mobile|pda|psp" [NC]
#------------- The line below excludes the iPad
RewriteCond %{HTTP_USER_AGENT} !^.*iPad.*$
#-------------
RewriteCond %{HTTP_USER_AGENT} !macintosh [NC] #*SEE NOTE BELOW
RewriteRule ^(.*)$ /m/ [L,R=302]

Принужденная загрузка определенных типов файлов

По какой-либо причине вам может понадобиться принудительная загрузка определенных файлов типа MP3 или XLS. Данный отрывок кода предотвратит открытие файлов в окне браузера и автоматически перенаправит пользователей на скачивание.

<Files *.xls>
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</Files>
<Files *.eps>
  ForceType application/octet-stream
  Header set Content-Disposition attachment
</Files>

Кросс-доменная интеграция шрифтов для Firefox

Когда дело доходит до встроенных шрифтов, следует знать, что Firefox не позволяет вам интегрировать шрифты с других веб-сайтов. Используя .htaccess-сниппет, приведенный ниже, вы сможете обойти это ограничение.

<FilesMatch "\.(ttf|otf|eot|woff)$">
<IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "http://yourdomain.com"
</IfModule>
</FilesMatch>

Ускорение работы сайта за счет кэша .htaccess

Это, наверное, самый полезный сниппет из всего списка. Используя простое кэширование .htaccess, вы сможете значительно повысить скорость работы вашего сайта. Подобный сниппет всегда должен быть в вашем арсенале.

# 1 YEAR
<FilesMatch "\.(ico|pdf|flv)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
# 1 WEEK
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=604800, public"
</FilesMatch>
# 2 DAYS
<FilesMatch "\.(xml|txt|css|js)$">
Header set Cache-Control "max-age=172800, proxy-revalidate"
</FilesMatch>
# 1 MIN
<FilesMatch "\.(html|htm|php)$">
Header set Cache-Control "max-age=60, private, proxy-revalidate"
</FilesMatch>

Предотвращение спама в Wordpress

Устали от спаммеров в своем блоге? Конечно же, Akismet хорошо помогает, но ваш файл .htaccess также может помочь вам. Сегодня мы предлагаем вам сниппет, который поможет вам оградиться от спам-ботов, запретив им доступ к файлу wp-comments-post.php.

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

Перенаправление различных рассылок в один формат

Ранее использовалось много форматов рассылок: RSS, Atom, Rdf и т.д. Сегодня же, наиболее распространенным стал формат RSS. Данный сниппет позволяет вам перенаправлять все рассылки в одну. Его можно использовать «как есть», если вы работаете с Wordpress.

<IfModule mod_alias.c>
RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://example.com/feed/
RedirectMatch 301 /comments/feed/(atom|rdf|rss|rss2)/?$ http://example.com/comments/feed/
</IfModule>

Настраиваем веб-сайт под работу с HTML5-видео

HTML5 привнес в нашу жизнь множество новых и удобных опций. Среди прочих великолепных функций есть также возможность интеграции видео без использования Flash. Тем не менее, вам придется правильно настроить сервер, чтобы он смог работать с последними стандартами технологии видео в HTML5. Данный сниппет поможет вам в этом!

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
AddType video/ogg .ogv
AddType video/ogg .ogg
AddType video/mp4 .mp4
AddType video/webm .webm
AddType application/x-shockwave-flash swf

Ведём лог PHP-ошибок

Вместо отображения PHP-ошибок на сайте, данный сниппет поможет вам списывать все ошибки в лог-файл, скрывая ошибки от обывателей.

# display no errs to user
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
# log to file
php_flag log_errors on
php_value error_log /location/to/php_error.log

Запуск PHP внутри файлов javascript

При разработке кода javascript бывает крайне удобно использовать PHP внутри файлов .js. Например, можно извлекать информацию из баз данных. Данный сниппет поможет вам разрешить использовать PHP внутри файлов javascript.

AddType application/x-httpd-php .js
AddHandler x-httpd-php5 .js

<FilesMatch "\.(js|php)$">
SetHandler application/x-httpd-php
</FilesMatch>
Обнаружили ошибку или мёртвую ссылку?
Выделите проблемный фрагмент мышкой и нажмите CTRL+ENTER.
В появившемся окне опишите проблему и отправьте уведомление Администрации ресурса.
Нужна органическая вечная ссылка из данной статьи? Постовой?
Подробности здесь
Вам понравился материал? Поблагодарить легко!
Будем весьма признательны, если поделитесь этой статьей в социальных сетях:

Ключевые тэги: файлы
Опубликовал Design FactoRy   Прочитано (раз): 11975   |   Оставлено комментариев: 5
Источник материала / оригинал статьи   Распечатать
Другие статьи и новости по теме:
Комментарий #1: 15 ноября 2011 @ 22:45
Написал: mihdan — группа: Гости  
На сайте с: --   |   Публикаций: 0   |   Комментариев: 0
ICQ: --- не указано ---
Обратный слеш - \
Просто слеш - /
Комментарий #2: 16 ноября 2011 @ 06:59
Написал: Myroslaw — группа: Гости  
На сайте с: --   |   Публикаций: 0   |   Комментариев: 0
ICQ: --- не указано ---
Ещё не плохо бы было указать ссылку на первоисточник fellow
Комментарий #3: 16 ноября 2011 @ 11:29
Написал: Design FactoRy — группа: Администраторы  
На сайте с: 21.07.2009   |   Публикаций: 3300   |   Комментариев: 500
ICQ: --- не указано ---
Myroslaw, а еще не плохо было бы внимательно смотреть, прежде чем писать. Ссылка присутствует.
Комментарий #4: 17 ноября 2011 @ 15:19
Написал: Myroslaw — группа: Гости  
На сайте с: --   |   Публикаций: 0   |   Комментариев: 0
ICQ: --- не указано ---
Не было ее сначала
Комментарий #5: 17 ноября 2011 @ 15:23
Написал: Design FactoRy — группа: Администраторы  
На сайте с: 21.07.2009   |   Публикаций: 3300   |   Комментариев: 500
ICQ: --- не указано ---
Myroslaw, что вы не говорите? Без указания ссылки на источник новость не добавляется на сайт по определению. Так настроен сайт. Внимательнее быть надо и не говорить то, о чем не знаете.
Добавление комментария
Уважаемые пользователи!
При добавлении комментариев на сайт Вам следует учитывать следующее - все комментарии проверяются Администрацией на предмет отсутствия спама. При обнаружении признаков спама, в оставленном Вами комментарии, сам комментарий будет незамедлительно удалён, а Ваш IP-адрес будет забанен без предупреждения! Учётные записи пользователей, рассылающих спам, блокируются/удаляются без права последующего восстановления.

С уважением, Администрация сайта.
* = поля обязательны к заполнению
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Вопрос : Назовите месяц October по-русски
Подтверждение кода безопасности :

Включите эту картинку для отображения кода безопасности
обновить, если не виден код


Популярные публикации


















Свежие шаблоны сайтов каждый день
С миру по нитке
«    Сентябрь 2017    »
ПнВтСрЧтПтСбВс
 123
45678910
11121314151617
18192021222324
252627282930