.htaccess

Редактор: Дмитрий Сокол 197169 16 мин Аудио

Использование на хостинге файла .htaccess

Название файла .htaccess (сокращение от “hypertext access”) начинается с точки. Это означает, что файл - служебный и не относится непосредственно к файлам сайта, а используется для настроек web-сервера, является частью конфигурации web-сервера Apache

Благодаря .htaccess пользователи виртуального хостинга могут  настраивать работу отдельных папок, не имея доступа к основному файлу конфигурации web-сервера Apache (httpd.conf). К файлу httpd.conf имеют доступ лишь суперпользователи (root), соответственно, редактировать его могут лишь владельцы VPS/VDS и выделенных серверов

При изменении файла новый набор настроек сразу начинает работать и не требует перезагрузки web-сервера. 

Ограничения использования .htaccess у провайдера хостинга

Провайдер хостинга может запретить применение определенных директив в целях безопасности или снижения нагрузки на сервер. Названия директив может меняться, в зависимости от используемой на сервере провайдера версии Apache.

К примеру, у некоторых хостеров запрещено использовать в .htaccess команду преобразования адресов в верхний регистр в связи с тем, что их работа значительно увеличивает нагрузку на веб-сервер.

Использование .htaccess на виртуальном или выделенном сервере

При использовании услуги собственного VPS/VDS или выделенного сервера у вас есть полный доступ к изменению настроек web-сервера Apache с помощью редактирования его основных конфигурационных файлов. При этом применение файлов .htaccess также остается удобной возможностью для внесения корректив в работу сервера без перезагрузки. 

Для редактирования файлов .htaccess из командной строки сервера используйте текстовые редакторы vi, nano, mcedit. 

Схема работы .htaccess

1. Когда web-сервер получает запрос по протоколу HTTP (или HTTPS) к какому-либо файлу на сервере (определенной странице сайта), он предварительно проверяет наличие файла .htaccess в той же папке (или в одной из вышестоящих по иерархии каталогов папок, начиная с корневого каталога сайта). 
2. Если файл найден, то web-сервер считывает из него конфигурационные команды и применяет их в своей работе. 

Файл .htaccess влияет не только на отдачу файлов из той папки, где он расположен, но и на все вложенные в нее папки. Если в одном из подкаталогов существует свой файл .htaccess, то тогда находящиеся в нем команды имеют приоритет над аналогичными командами, имеющимися в файлах .htaccess верхнего уровня.

Чтобы Apache использовал в своей работе файл .htaccess, необходимо для конкретной директории в конфигурации web-сервера указать директиву “AllowOverride All”. Её нужно прописывать в файл конфигурации web-сервера Apache (httpd.conf) - /etc/httpd/conf/httpd.conf или /etc/apache2/apache2.conf (это зависит от версии веб-сервера и ОС).

Директива должна иметь вид:

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

/var/www/ по необходимости нужно заменить на свою директорию сайта.

После внесения изменений не забудьте перезагрузить веб-сервер, предварительно проверив корректность конфигурации:

httpd -t

Если вывод будет Syntax OK, то выполните: service httpd restart.

Провайдеры по умолчанию включают эту настройку для папок с сайтами пользователей на виртуальном хостинге, а владельцам VPS/VDS и выделенных серверов нужно самостоятельно проверить у себя наличие такой конфигурации в Apache.

Имя служебного файла в Apache может меняться. Этим управляет директива AccessFileName. Например, если указать в конфигурации Apache директиву “AccessFileName .config”, то web-сервер будет вместо .htaccess искать файлы .config. Но название файла .htaccess стало индустриальным стандартом, и поэтому на хостингах используется именно этот файл.

Многие CMS, как, например, Wordpress, самостоятельно при установке на хостинг размещают файл .htaccess в корневой папке сайта для настройки своей работы. 

Web-сервер Apache чувствителен к наличию в .htaccess неправильных или неизвестных команд. Если синтаксис этого файла нарушен, то запрос к любому файлу будет отдавать браузеру посетителя ошибку 500 (Ошибка конфигурации сервера). Поэтому редактировать файл .htaccess следует с осторожностью и сразу после его изменения необходимо проверять работоспособность сайта. 

Проверить, включена ли поддержка .htaccess на сервере, просто: нужно добавить какую-либо неправильную команду (любую фразу на английском с ошибкой) в этот файл и открыть страницу в браузере. Если показывается ошибка 500, то это означает, что web-сервер настроен на применение .htaccess, и его можно использовать для отладки работы конкретного сайта.

Как выглядит .htaccess?

.htaccess - это текстовый файл.

Каждая строка файла означает определенную команду конфигурации (директиву) Apache.

Пустые строки игнорируются.

Строки, которые начинаются с символа решетки “#”, - это комментарии, и они не влияют на конфигурацию web-сервера.

С помощью комментариев в .htaccess удобно описывать смысл конкретной команды или блока команд в сложных, состоящих из большого количества строк, файлах.

# убираем слэш в конце адреса
RewriteCond %{REQUEST_URI} .+/$ [NC]
RewriteRule ^(.+)(/)$ $1 [L,R=301]

Как редактировать .htaccess?

Файл .htaccess на хостинге вы сможете отредактировать с помощью FTP-доступа, например, используя FTP-клиент Filezilla.

Для этого нажмите правой кнопкой мыши на файл, чтобы открыть контекстное меню с пунктом “Просмотр/Правка”.

Filezilla использует для редактирования текстовый редактор Notepad++, который должен быть установлен на локальный компьютер.

Мы не рекомендуем для редактирования файла .htaccess и других конфигурационных файлов использовать “Блокнот” Windows.

Иногда, если применяются устаревшие FTP-клиенты, .htaccess не показывается в списке файлов. Это происходит из-за того, что его название начинается с точки. Следует обновить FTP-клиент или проверить его настройки на предмет отключения фильтрации файлов, начинающихся с точки. При использовании Filezilla таких проблем не возникает.

Как мы писали выше, файл .htaccess автоматически генерируется в папке сайта на хостинге вместе с созданием сайта у некоторых CMS, таких, как Wordpress. Но есть движки, которые размещают этот файл под другим названием. Например, Joomla создает файл htaccess.txt, и его нужно переименовывать вручную.

В случае, если файла в папке сайта нет, создайте его самостоятельно. 

1. Для этого откройте блокнот (notepad), добавьте туда нужные команды и сохраните как текстовый документ с названием .htaccess.
2. Переименуйте сохраненный файл, убрав расширение “.txt”.
3. С помощью FileZilla загрузите его через FTP в папку с сайтом.

Также .htaccess можно отредактировать из панели управления хостингом.

1. Для редактирования .htaccess в панели управления зайдите в менеджер файлов.
2. Откройте корневую папку сайта public_html, найдите в ней файл .htaccess и отредактируйте его во встроенном редакторе.

Так выглядит работа с .htaccess у провайдера Beget

Ниже будут рассмотрены наиболее востребованные из настроек в контексте web-хостинга.

Механизм перенаправления (редиректа) запросов

Модуль перенаправления и перезаписи запросов (mod_rewrite) в Apache используется для управления обработкой запросов к web-серверу. Правила обработки запросов почти всегда различаются, в зависимости от конкретных сайтов и папок, поэтому использование .htaccess - это идеальный вариант для их настройки.

Чтобы включить работу перенаправления запросов, укажите в .htaccess команду:

RewriteEngine on

Затем следует перечень специальных команд для настройки перенаправления, в зависимости от конкретных условий.

Команду “RewriteEngine on” в файле .htaccess достаточно использовать лишь один раз.

В своей работе механизм перенаправления mod_rewrite применяет специальную технологию программирования regexp для сравнения запросов с определенным шаблоном. 

Склейка разных адресов одного сайта

При настройке сайта на хостинге можно указать дополнительные доменные имена для сайта - алиасы (псевдонимы), например, www.mysite.ru для сайта mysite.ru. 

Для поисковых систем важно знать, какой из адресов сайта является основным, а какие - дополнительными. Для того, чтобы точно указать адрес основного сайта используют механизм “склейки” адресов. Он заключается в том, что браузер посетителя при заходе на дополнительный адрес сайта получает от web-сервера команду перенаправления на основной адрес - 301 redirect

301 - это специальный код ответа web-сервера, который обозначает, что данный адрес (URL) страницы является постоянно переадресуемым на другой URL, являющийся основным. И в будущем для доступа к данной странице следует использовать именно основной URL.

Для настройки постоянного 301-редиректа с адреса www.mysite.ru на mysite.ru нужно использовать следующий набор команд в .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.mysite\.ru$ [NC]
RewriteRule ^(.*)$ http://mysite.ru/$1 [R=301,L]

Перенаправление с HTTP-версии сайта на HTTPS-версию

Поисковые системы поощряют переход сайтов на безопасный режим HTTPS и дают ресурсам с поддержкой этого протокола лучшие результаты в поисковой выдаче.

Владельцы сайтов с настроенной поддержкой HTTPS  (с SSL-сертификатом) на хостинге могут включить с помощью .htaccess автоматическое перенаправление посетителей на HTTPS-версию сайта. Это делается следующими командами в .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Перенаправление страницы на другой адрес (URL)

Чтобы перенаправить всех посетителей определенной страницы сайта на другую, настройте в .htaccess специальную директиву Apache “Redirect”:

Redirect 301 /старая-страница.html http://сайт.рф/новая-страница.html

В случае переезда сайта на новый домен, настройте переадресацию пользователей на новый доменный адрес командой:

Redirect 301 / http://nynewsite.ru/

Чтобы настроить автоматическое перенаправление всех страниц определенного раздела на сайте на такие же страницы в другом разделе, примените команду в .htaccess с использованием RewriteEngine:

RewriteRule ^razdel1/(.*)$ http://mysite.ru/razdel2/$1 [R=301,L]

Чтобы автоматически добавлялся суффикс .html при доступе к страницам сайта (то есть, при вводе в браузере адреса mysite.ru/page происходило перенаправление на mysite.ru/page.html), нужно прописать в .htaccess следующее:

RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?)
RewriteRule .* %1.html [R=301,L]
RewriteRule ^(.*)/$ /$1.html [R=301,L]

Для того, чтобы убрать .html из URL, запустите команду:

RewriteRule (.*)\.html$ $1 [R=301,L]

Иногда для правильной обработки страниц поисковыми системами требуется убрать слэш (символ “/”) в конце адреса страницы. 

Например, было mysite.ru/page/, стало mysite.ru/page.

Для этого используйте набор команд в .htaccess:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=301,L]

Подмена страниц на сервере

С помощью .htaccess можно проводить подмену страниц сайта на сервере. То есть пользователь открывает в браузере страницу mysite.ru/page1.html, а сервер вместо этой страницы отдает пользователю файл page2.html. 

Такую настройку можно получить с помощью кода в .htaccess:

RewriteRule ^page1\.html$ /page2.html [L]

Это “серая” методика, и мы рассказываем о ней, чтобы вы знали, как это делается, но мы не рекомендуем ее применять. 

Изменение страниц ошибок с помощью .htaccess

Если web-сервер не находит нужный файл (страницу) при запросе к сайту по определенному адресу, то он отвечает специальной ошибкой 404. Используемая по умолчанию страница с ошибкой 404 малоинформативна.

То же происходит в случае ошибок 400 (неправильный запрос), 500 (ошибка сервера) и других распространенных ошибочных состояний web-сервера.

Чтобы у пользователя было больше информации, можно настроить свои собственные страницы для обработки ошибок web-сервера с возможностью навигации по сайту. На странице может быть указано, что человек перешел по несуществующей ссылке, и предложение поискать нужную информацию на сайте, а не уйти с него. 

Например, на сайте ru.hostings.info используется такая страница обработки ошибки 404.

Чтобы показывать пользователям сайта специальные страницы ошибок (404 и других) вместо стандартных, нужно создать файл для этой страницы (например, /404.html, /500.html) и добавить соответствующий код в файл .htaccess:

ErrorDocument 400 http://mysite.ru/400.html
ErrorDocument 404 http://mysite.ru/404.html
ErrorDocument 500 http://mysite.ru/500.html

Если нужно указать специальную страницу для обработки ошибки 403 (“доступ запрещен”), то нужно будет указать также текстовое сообщение, которое будет показано посетителю:

ErrorDocument 403 "Access forbidden / Доступ запрещен"

Настройки безопасности сайта через файл .htaccess

Файл .htaccess предоставляет возможность фильтрации определенных запросов для обеспечения безопасной работы сайта. Ниже перечислены наиболее популярные из подобных фильтров для .htaccess:

Защита сайта от атак

#Включает отслеживание сим-ссылок
Options +FollowSymLinks
#Запускает url_rewriting
RewriteEngine On
#Блокирует все ссылки, содержащие <script>
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
#Блокирует все скрипты, которые пытаются изменить переменные PHP Globals:
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
#Блокирует все скрипты, которые пытаются изменить переменную _REQUEST:
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
#Перенаправляет все подобные попытки на страницу с ошибкой 403 - запрещено
RewriteRule ^(.*)$ /403.html [F,L]

Эти фильтры могут быть дополнены, в зависимости от используемой CMS.

Web-сервер Apache с такой настройкой .htaccess начинает работать как программное обеспечение с функционалом Web Application Firewall (WAF).

Такая фильтрация не служит 100% гарантией защиты сайта, но в качестве одного из компонентов безопасности весьма полезна.

Блокировка доступа пользователей по IP

Применяется с целью защиты от:

  • спамеров;
  • нежелательный посетителей.

Изредка используется для предотвращения хакерских атак и помогает при защите сайта от DDoS-атаки (большого количества запросов, отправляемых с одного IP-адреса). 

Синтаксис .htaccess для блокировки следующий:

allow from all
#Список нежелательных IP адресов
deny from 164.186.15.116
deny from 124.153.34.144

Защита папок сайта паролем

.htaccess предоставляет возможность закрыть сайт или определенную папку сайта от доступа посетителей с помощью пароля. Это полезно, например, для ограничения доступа к панели администратора сайта. 

Синтаксис для .htaccess:

#Protect Directory
AuthName "Restricted access"
AuthType Basic
AuthUserFile /home/username/example.com/.htpasswd
Require valid-user

Предварительно следует создать файл с паролем при помощи команды:

htpasswd -c /home/username/example.com/.htpasswd admin

Дополнительные сценарии использования .htaccess

Изменение главной (индексной) страницы сайта

При открытии сайта в браузере автоматически загружается страница index.html или index.php. Чтобы изменить эту настройку на использование индексного файла с названием, например, about.html, используется следующая команда в .htaccess:

DirectoryIndex about.html

Защита сайта от кражи изображений

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

Для защиты от подобной кражи контента можно использовать такой код в .htaccess:

Options +FollowSymlinks
#Запрещает кражу картинок
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?mysite.ru/ [nc]
RewriteRule .*.(gif|jpg|png)$ http://mysite.ru/images/stop_stealing.gif[nc]

http://mysite.ru/images/stop_stealing.gif - это адрес (URL) изображения, которое специально создает владелец сайта. Оно содержит текст, наподобие  "не крадите картинки с чужих сайтов", чтобы показать другим web-мастерам нежелательность использования графических файлов изображения с его сайта. 

Запрет доступа к конкретному файлу

Чтобы запретить доступ к конкретному файлу на сайте, используйте следующие команды .htaccess:

Защищает файл myfile.txt
<files myfile.txt>
order allow,deny
deny from all
</files>

Запрет доступа ко всем файлам с конкретным расширением

Если необходимо запретить доступ ко всем файлам с определенным расширением (типом), то применяйте следующий набор команд:

<Files "\.(txt)$">
Order Deny,Allow
Deny from all
</Files>

В данном примере запрещается доступ ко всем файлам с расширением .txt

Блокирование посетителей, в зависимости от заголовка User-Agent

User-Agent - это специальный заголовок протокола HTTP, с помощью которого браузер при запросе страницы указывает свое название и версию.

Аналогично информацию о себе посылают на сервер клиентские приложения, различные поисковые роботы и пауки. С помощью User-Agent страница может также определить тип устройства пользователя. 

Для блокировки доступа к сайту, в зависимости от заголовка User-Agent, используется следующий код в .htaccess:

#Перечень 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>

Управление режимами работы сайта с помощью .htaccess

С помощью .htaccess можно управлять такими параметрами работы сайтов:

  • кодировка;
  • сжатие;
  • кэширование. 

Изменение кодировки сайта через .htaccess

Точное указание кодировки страниц сайта важно для сайтов с контентом на других языках (не на английском). Чтобы браузер пользователя правильно отобразил содержимое страниц, в файле .htaccess указывается, в какой кодировке они созданы.

В настоящее время для web-сайтов наиболее часто используется универсальная кодировка UTF-8, но встречаются страницы, созданные на кириллических кодировках Windows-1251  или KOI8-r.

Обычно кодировку указывают в метатегах заголовка HTML-кода страницы:

<meta http-equiv="content-type" content="text/html; charset=Windows-1251">

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

AddDefaultCharset WINDOWS-1251

Чтобы сервер автоматически перекодировал в нужную кодировку все файлы, которые на него загружаются, нужно применять следующие команды:

CharsetDisable on
CharsetSourceEnc WINDOWS-1251

Управление настройками сжатия

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

Чтобы включить Gzip-сжатие в файл .htaccess, в зависимости от настроек используемого хостинга, нужно добавить следующие команды: 

<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
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>
</IfModule>

или

<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
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.*
</ifModule>

Какой именно вариант лучше использовать на конкретном хостинге, можно проверить, сравнив скорость загрузки сайта при разных настройках.

Настройка HTTP-кэширования на сервере

HTTP-кэширование файлов сайта в браузере посетителя позволяет сэкономить ресурсы канала связи и время пользователя за счет того, что статические файлы сайта (изображения, CSS-файлы, шрифты и др) после первого посещения сайта пользователем уже не загружаются повторно. Они хранятся в кэше браузера определенное время, которое настраивается в конфигурации web-сервера.

Настроить HTTP-кэширование для сайта можно с помощью следующего кода в .htaccess:

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType application/javascript "access plus 7 days"
ExpiresByType text/javascript "access plus 7 days"
ExpiresByType text/css "access plus 7 days"
ExpiresByType image/gif "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
</IfModule>

В параметре "access plus X days" устанавливается конкретный срок хранения файлов на компьютере пользователя. По истечении этого срока при запросе к сайту файлы будут снова загружены с сервера. 

Оптимальный срок хранения файлов в кэше - от семи дней до месяца, в зависимости от конкретного типа файлов.

Настройка параметров PHP через файл .htaccess

Большинство web-сайтов используют язык программирования PHP. Для их работы важны определенные настройки PHP. Обычно за конфигурацию PHP отвечает файл php.ini, но часть параметров можно задать и через файл .htaccess.

Для этого используются две команды:

  • php_value name on/off - для логических значений (например, включить\выключить);
  • php_flag name value - для установки числовых значений или текстовых значений. 

Пример использования этих команд в .htaccess:

php_flag name1 on # включает параметр конфигурации PHP name1
php_flag name2 off # выключает параметр конфигурации PHP name2
php_value name value #устанавливает параметр PHP name в значение value

Для установки значения флага PHP register_globals в значение off  используется команда:

php_flag register_globals off

Другие полезные конфигурационные параметры PHP, которыми можно управлять через .htaccess:

Для использования с php_flag

  • display_startup_errors - управляет выводом на экран ошибок, которые происходят при инициализации PHP.
  • display_errors - управляет выводом на экран ошибок PHP.
  • log_errors - управляет записью лога ошибок PHP в файл.

Для использования с php_value

  • error_log - устанавливает название файла лога ошибок PHP.
  • output_buffering - управляет буферизацией вывода данных.
  • upload_max_filesize - устанавливает максимальный размер загружаемого файла.
  • post_max_size - задает максимальный размер пересылаемой почты.
  • sendmail_from - задает адрес e-mail для отправки почты с помощью PHP.
  • auto_prepend_file - задает файл, который будет добавлен в начало каждого PHP-скрипта.
  • auto_append_file - задает файл, который будет добавлен в конец каждого PHP-скрипта.

Обратите внимание: не все провайдеры хостинга разрешают менять настройки PHP через .htaccess. Использование любой директивы для настройки РНР напрямую зависит от версии РНР, которая установлена на сервере, поэтому, если какая-то директива не отработала или ее использование привело к появлению ошибки на сайте, то следует обращаться в техподдержку провайдера.

 

Комментарий эксперта

Анна Чалая,  начальница смены службы поддержки HOSTiQ.ua

Если сайт сделан с помощью какого-то движка, например, WordPress или OpenCart, то отсутствие файла .htaccess приводит к 404-той ошибке на сайте. Главная страница может открываться корректно, а на остальных будет ошибка 404 — Not Found. В таких случаях проверьте название файла .htaccess, расширение и содержимое. Если файла нет, то создайте его самостоятельно. Стандартное содержимое файла можно взять из “чистой” установки движка или просто загуглить “стандартное содержимое .htaccess название вашего движка”. Используйте наполнение .htaccess только с тех сайтов, которым доверяете: с конфигурационными файлами нужно быть аккуратными.

Также рекомендуем сохранить в закладки две ссылки:

htaccessredirect.net— онлайн-генератор несложных директив для .htaccess.
Apache HTTP Server Tutorial: .htaccess files — “библия” .htaccess от разработчиков веб-сервера Apache.

Дмитрий Сокол

Хостинг для WordPress

Rank Хостинг Клиенты Оценка Отзывы
1
147000
5.0 387
2
577930
5.0 488
3
200000
4.9 158

Дешёвый хостинг

Rank Хостинг Клиенты Оценка Отзывы
1
90000
4.7 90
2
2500
4.3 42
3
32400
4.3 36

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

Rank Хостинг Клиенты Оценка Отзывы
1
147000
5.0 387
2
577930
5.0 488
3
200000
4.9 158
Только эксперты отвечают на ваши вопросы
Не нашли ответ на свой вопрос?
Задайте его экспертам! Ответ приходит очень быстро и прямо на ваш email.

Добавляя подтверждение "Я не робот" вы так же даете согласие получать сообщения от ru.hostings.info и принимаете его Политику конфиденциальности, позволяя ru.hostings.info хранить и обрабатывать вашу личную информацию, указанную выше, для предоставления вам запрашиваемого контента.

Рейтинги хостинг-провайдеров по задачам сайта
Марта
Панель управления

От панели управления зависит ваше удобство в настройке хостинге\сайта.

Большинство качественных хостингов из нашего ТОПа используют удобные панели управления, поэтому рекомендуем больше внимания уделить другим параметрам при выборе.

Вид хостинга

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

Виртуальный хостинг - подходит для большинства проектов начального уровня с посещаемостью до 1000 человек в сутки. В таком хостинге мощность сервера делится между несколькими хостинговыми аккаунтами. Услуга проста в настройке даже для новичков.

VPS - подходит для более сложных проектов с достаточно большой нагрузкой и посещаемостью до 10000 человек в сутки. Здесь мощность сервера фиксированная для каждого виртуального сервера, при этом сложность настройки увеличивается.

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

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

CMS

CMS - это система управления контентом сайта. Хостеры стараются для каждой из них делать отдельный тариф или упрощать установку. Но в целом это больше маркетинговые ходы, т.к. у большинства популярных CMS нет специальных требований к хостингу, а те что есть - поддерживаются на большинстве серверов.

Тип виртуализации

Виртуализация - это создание виртуальной среды на физическом сервере, позволяющая запускать требуемые ПО без затрагивания процессов, совершаемых другими пользователями сервера.  С её помощью ресурсы физического сервера распределяются между виртуальными (VPS/VDS). Основные виды: аппаратная (KVM), паравиртуализация, виртулизация на уровне ОС (OpenVZ).

Прочее

Абузоустойчивый хостинг - компании, которые разрешают размещать практически любой контент, даже запрещенный (спам, варез, дорвеи, порнографические материалы). Такие компании не удаляют контент вашего веб-сайта при первой же жалобе (“абузе”).

Безлимитный хостинг - хостинг у которого отсутствуют лимиты на количество сайтов, БД и почтовых ящиков, трафик, дисковое пространство и т.д. Обычно это больше маркетинговый трюк, но можно найти что-то интересное для себя.

Безопасный хостинг - тот, где администрация постоянно обновляет ПО установленное на серверах, устанавливает базовую защиту от DDoS-атак, антивирус и файерволлы, блокирует взломанные сайты и помогает их "лечить".

Защита от DDOS - компании, которые предоставляют хостинг с защитой от DDoS-атак. Такие пакеты ощутимо дороже обычных, но они стоят своих денег, так как ваш сайт будет защищен от всех видов сетевых атак.

Бесплатный тест

Тестовый период - предоставляется хостером бесплатно на 7-30 дней, чтобы вы могли удостовериться в его качестве.

Moneyback - период на протяжении которого хостер обязуется вернуть деньги, если вам не понравится хостинг.

Региональные
Цена

Настоятельно рекомендуем не покупать слишком дешевый хостинг! Как правило с ним очень много проблем: сервер иногда не работает, оборудование старое, поддержка долго отвечает или не может решить проблему, сайт хостера глючит, ошибки в регистрации, оплате и т.д.

Также мы собрали тарифы от тысяч хостеров, чтобы вы могли выбрать хостинг по конкретной цене.

Технологии и ОС

На языке программирования PHP и базах данных MySQL сейчас работает большинство сайтов. Они же поддерживаются практически всеми современными хостингами.

ASP.NET - платформа для разработки веб-приложений от Майкрософт.

ОС - операционная система, установленная на сервере хостинга. Мы рекомендуем размещать на серверах с Linux, если нет особых требований у разработчиков сайта.

Тип диска