Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....

 

Оптимизированный .htaccess - SEO и безопасность

Автор badhit, 12-03-2016, 10:37:42

« назад - далее »

badhitTopic starter

.htaccess для сайта с SEF

# Устанавливаем кодировку
AddDefaultCharset utf-8
Options +FollowSymLinks

# Запрет выдачи листинга пустого каталога
Options -Indexes

# Активируем mod_rewrite
RewriteEngine On

# Перенаправляем с «без www» на «с www»
RewriteCond %{HTTP_HOST} ^site.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

# Если в ссылке несколько слешей(site.ru/////article), то редирект на урл с одним слешем
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /{2,}
RewriteRule ^(.*) /$1 [R=301,L]

# Убираем слеш в конце url-а
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]

# Запрет кражи картинок. Нельзя будет ссылаться на ваши картинки, вместо них будет выводится img.gif
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?site.ru/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://site.ru/images/img.gif[nc]

# Защита от атак
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

# Блокируем плохих User Agent-ов
SetEnvIfNoCase user-Agent ^FrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Java.* [NC,OR]
SetEnvIfNoCase user-Agent ^Microsoft.URL [NC,OR]
SetEnvIfNoCase user-Agent ^MSFrontPage [NC,OR]
SetEnvIfNoCase user-Agent ^Offline.Explorer [NC,OR]
SetEnvIfNoCase user-Agent ^[Ww]eb[Bb]andit [NC,OR]
SetEnvIfNoCase user-Agent ^Zeus [NC]
<limit get="" post="" head="">
Order Allow,Deny
Allow from all
Deny from env=bad_bot
</limit>

# Запрет просмотра позиций ?tp=1. Запрет можно поставить в админке сайта, но я дублирую ещё и тут, мало ли.
RewriteCond %{QUERY_STRING} tp=(.*)
RewriteRule ^(.*)$ index.php [F,L]

# Для повышения уровня безопасности отключаем режим register_globals в PHP
php_value register_globals 0

# core SEF Section.
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

RewriteCond %{REQUEST_URI} !^/index\.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L]


На моём сайте этого вроде бы достаточно. Пишите, что добавить/поправить.
Я не большой знаток всех этих правил, собрал по разным faq и рекомендациям в тырнетах.
"Стрaхование онлайн" от ОСАГО до Укуса клеща, а также другие полезные сервисы.
  •  



Если вам нравится SbUP Форум, вы можете поддержать его - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 и ещё....