Инструкции в .htaccess – правил редиректа, скорости загрузки, временной зоны сайта, вывода ошибок и прочее.

### Закомментированое указание индексного файла – название  (по умолчанию) файла может быть любым – указывается и раскомментируется при необходимости
#DirectoryIndex index.php index.html
### Закрываем доступ по ip нарушителям (пустым быть не может – лучше совсем удалить, если некого банить
Order Allow,Deny
Allow from all
Deny from 127.0.2.1
###Бан ботов по подсети IP
# Bots: Twingly Recon, twingly.com
Deny from 80.252.169.0 – 80.252.171.255
# Bots: Parse Robot
Deny from 146.120.240.0 – 146.120.255.255
# Bots: Synapse bot
Deny from 94.242.206.90 – 94.242.222.107
# Bots: PaperLiBot/2.1, support.paper.li
Deny from 37.187.149.179 – 37.187.186.143
###Кодировка
AddDefaultCharset utf-8
###запрещает показывать содержимое каталогов, если в них нет индексного файла
Options -Indexes
###позволяет использовать символические ссылки на файлы или каталоги вне корня сайта
Options +FollowSymLinks
###Временная зона сайта: http://www.php.net//manual/ru/timezones.php

SetEnv TZ Europe/Moscow

###скрыть подпись сервера
ServerSignature Off
###включение режима перенаправления – в идеале лучше проверять наличие модуля, но его отсутствие/невключение достаточно редко (все правила включить между и
RewriteEngine On
###указываем корень перенаправления – если, например, сайт в подпапке, то указывается эта папка как отправная точка отсчета
RewriteBase /
###Склейка зеркал на основной без www
RewriteCond %{HTTP_HOST} ^www.site\.com$ [NC] RewriteRule ^(.*)$ http://site.com/$1 [R=301,L] ###Убирается расширение .php из адресной строки
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php [L] ###закомментировано: закрываем доступ по имени сайта (если даже ip изменится, то название все равно останется)
#RewriteCond %{HTTP_REFERER} ^http(s)?://(www\.)?bad_site.com.*$ [NC] #RewriteRule .* – [F,L] ###Попытка закрыть возможность скачивания через телепорт – бесполена, в общем-то, поскольку он и подобные могут маскироваться под USER_AGENT разных браузеров – но все-таки
RewriteCond %{HTTP_USER_AGENT} ^Teleport
RewriteRule ^.*$ – [F] ###Блокировка доступа к сканированию сайта роботами Ahrefs и Open Site Explorer
RewriteCond %{HTTP_USER_AGENT} ^rogerbot [OR] RewriteCond %{HTTP_USER_AGENT} ^AhrefsBot
RewriteRule .* – [F] ###Защита от хотлинка – то есть, от отображения материалов сайта на другом сайта через простое указание источника. Можно добавлять любые желаемые расширения по тому же принципу
RewriteCond %{HTTP_REFERER} !^$
#если пришли и _не_ с сайта http://site.ru
RewriteCond %{HTTP_REFERER} !^http://(www.)?site\.com/.*$ [NC] RewriteRule .(jpg|gif|png|css|mov|swf|dcr|exe|rar|avi|vob|zip)$ – [F] ###Явное выключение магических кавычек: _http://www.php.su/security/?magicquotes
php_flag magic_quotes_gpc off
###Закомментированное явное отключение глобальных переменных – опции в php.ini, которая указывает на необходимость регистрации переменных полученные методом POST или GET в глобальный массив $GLOBALS
#php_value register_globals 0
###отключаем вывод ошибок – в лог писаться будут, а пользователю незачем видеть
php_flag display_errors off
php_flag display_startup_errors off
###сжатие по типам – если модкль включен

mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
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.*

###кэширование, кастомизированное по типам

#кэшировать html и htm файлы на один день
<FilesMatch “\.(html|htm)$”>
Header set Cache-Control “max-age=43200”

#кэшировать css, javascript и текстовые файлы на одну неделю
<FilesMatch “\.(js|css|txt)$”>
Header set Cache-Control “max-age=604800”

#кэшировать флэш и изображения на месяц
<FilesMatch “\.(flv|swf|ico|gif|jpg|jpeg|png)$”>
Header set Cache-Control “max-age=2592000”

#отключить кэширование
<FilesMatch “\.(pl|php|cgi|spl|scgi|fcgi)$”>
Header unset Cache-Control

###Продолжение кэширования по другому модулю

ExpiresActive On
#по умолчанию кеш в 5 секунд
ExpiresDefault “access plus 5 seconds”
#кэшировать флэш и изображения на месяц
ExpiresByType image/x-icon “access plus 2592000 seconds”
ExpiresByType image/jpeg “access plus 2592000 seconds”
ExpiresByType image/png “access plus 2592000 seconds”
ExpiresByType image/gif “access plus 2592000 seconds”
ExpiresByType application/x-shockwave-flash “access plus 2592000 seconds”
#кэшировать css, javascript и текстовые файлы на одну неделю
ExpiresByType text/css “access plus 604800 seconds”
ExpiresByType text/javascript “access plus 604800 seconds”
ExpiresByType application/javascript “access plus 604800 seconds”
ExpiresByType application/x-javascript “access plus 604800 seconds”
#кэшировать html и htm файлы на один день
ExpiresByType text/html “access plus 43200 seconds”
#кэшировать xml файлы на десять минут
ExpiresByType application/xhtml+xml “access plus 600 seconds”

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(0 голосов, в среднем: 0 из 5)

Комментарии:

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

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