Возможности файла htaccess

############################################################################ #### Cтандартный .htaccess для проектов студии Клондайк, версия 2.4 #### ############################################################################ RewriteEngine On # Директива включает редиректы. RewriteBase / # Без директивы (.*) = /$1 будет /var/wwww/site/web/$1 с директивой = /$1 Options +FollowSymLinks # Разрешает переход по символическим ссылкам. ############################################################################ #### Перенаправляем протокол https на http #### ############################################################################ RewriteCond %{HTTPS} on # Проверяем наличие https в URL. RewriteRule ^.*$ http://%{SERVER_NAME}%{REQUEST_URI} # Перенаправляем протокол на http. ############################################################################ #### Выбор основного зеркала (или с www или без www) #### ############################################################################ # 1. Редирект с www на без www. (раскоментировать директивы пункта 1) #RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] # Проверяем, содержит ли домен www (в начале URL). #RewriteRule ^(.*)$ http://%1/$1 [R=301,L] # Перенаправляем URL на домен без www. #### # 2. Редирект без www на www. (раскоментировать директивы пункта 2) #RewriteCond %{HTTP_HOST} !^www\.(.*) [NC] # Проверяем, не содержит ли домен www (в начале URL). #RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] # Перенаправляем URL на домен c www. ############################################################################ #### Убираем повторяющиеся слеши (/) в URL #### ############################################################################ RewriteCond %{THE_REQUEST} // # Проверяем, повторяется ли слеш (//) более двух раз. RewriteRule .* /$0 [R=301,L] # Исключаем все лишние слеши. ############################################################################ #### Убираем слеши в конце URL для статических файлов (содержит точку) #### ############################################################################ RewriteCond %{REQUEST_URI} \..+$ # Если файл содержит точку. RewriteCond %{REQUEST_FILENAME} !-d # И это не директория. RewriteCond %{REQUEST_FILENAME} -f # Является файлом. RewriteCond %{REQUEST_URI} ^(.+)/$ # И в конце URL есть слеш. RewriteRule ^(.+)/$ /$1 [R=301,L] # Исключить слеш. ############################################################################ #### Добавляем слеш(/), если его нет, и это не файл. #### ############################################################################ RewriteCond %{REQUEST_URI} !(.*)/$ # Если слеша в конце нет. RewriteCond %{REQUEST_FILENAME} !-f # Не является файлом. RewriteCond %{REQUEST_URI} !\..+$ # В URL нет точки (файл). RewriteRule ^(.*)$ $1/ [L,R=301] # Добавляем слеш в конце. ############################################################################ #### Убираем index.php, если он есть в конце URL #### ############################################################################ RewriteCond %{REQUEST_METHOD} =GET # Выявляем GET запрос в URL (не POST). RewriteCond %{REQUEST_URI} ^(.*)/index\.php$ # URL cодержит index.php в конце. RewriteRule ^(.*)$ %1/ [R=301,L] # Удалить index.php из URL. ############################################################################ #### Компрессия статического контента для гугл спид тест #### ############################################################################ <IfModule mod_deflate.c> # Compress HTML, CSS, JavaScript, Text, XML and fonts AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE application/x-font AddOutputFilterByType DEFLATE application/x-font-opentype AddOutputFilterByType DEFLATE application/x-font-otf AddOutputFilterByType DEFLATE application/x-font-truetype AddOutputFilterByType DEFLATE application/x-font-ttf AddOutputFilterByType DEFLATE application/x-javascript AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE font/opentype AddOutputFilterByType DEFLATE font/otf AddOutputFilterByType DEFLATE font/ttf AddOutputFilterByType DEFLATE image/svg+xml AddOutputFilterByType DEFLATE image/x-icon AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE image/svg+xml </IfModule> <IfModule mod_expires.c> ExpiresActive on ExpiresByType image/jpeg "access plus 3 day" ExpiresByType image/svg "access plus 3 day" ExpiresByType image/gif "access plus 3 day" ExpiresByType image/png "access plus 3 day" ExpiresByType text/javascript "access plus 3 day" ExpiresByType text/css "access plus 3 day" ExpiresByType application/javascript "access plus 3 day" </IfModule> ############################################################################ #### Конец общей части, далее следует собственные директивы .htaccess #### ############################################################################