Timeweb не работает htaccess

Перевод сайта на HTTPS и устранение Mixed Content

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

Если вы не хотите заниматься настройкой самостоятельно, рекомендуем вам сертификат SSL Timeweb Pro — при его заказе все необходимые работы по установке и настройке SSL, а также по настройке вашего сайта выполнят наши специалисты. Вы также можете заказать отдельную услугу по настройке сайта при заказе сертификата Let’s Encrypt.

1. SSL-сертификат

В Timeweb вы можете заказать как сертификаты Sectigo, так и бесплатный Let’s Encrypt. Подробнее о типах сертификатов, их заказе и установке см. в разделе SSL-сертификаты.

После того, как сертификат установлен, потребуется выполнить определенные настройки на сайте и устранить Mixed Content.

2. Перенаправление на HTTPS

Включить перенаправление на протокол HTTPS можно через панель управления или с помощью директив в файле .htaccess.

В панели управления:

  1. Перейдите в раздел «Сайты» и нажмите на значок шестеренки у нужного сайта.
  2. В открывшемся окне настроек включите опцию » Использовать безопасное соединение https://» и сохраните изменения.

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

Также возможно другие варианты настроек; примеры директив и информацию о работе с .htaccess можно найти здесь.

3. Дополнительные настройки для CMS

Далее для корректной работы сайта по HTTPS потребуется выполнить дополнительные настройки, в зависимости от вашей CMS.

WordPress

В случае с WordPress можно обойтись без настройки вручную и воспользоваться специальными плагинами (например, Really Simple SSL), которые настроят сайт для работы по HTTPS, а также устранят Mixed Content (по крайней мере, частично).

При ручной настройке:

  1. В админ-панели сайта перейдите в раздел «Настройки» — «Общие».
  2. Укажите протокол HTTPS в полях «Адрес WordPress» и «Адрес сайта», то есть замените http://domain.ru на https://domain.ru .
  3. В конфигурационный файл wp-config.php добавьте строку:

Joomla

  1. В админ-панели сайта перейдите в раздел «Система» — «Общие настройки» — вкладка «Сервер».
  2. В пункте «Включить SSL» выберите «Весь сайт» и сохраните изменения.
  3. В конфигурационном файле configuration.php в строке с параметром $live_site укажите URL вашего сайта с протоколом HTTPS:

1С-Битрикс

Для CMS Битрикс рекомендуется выполнить несколько дополнительных проверок:

  • Проверить работу форм обратной связи, так как ajax-запросы могут содержать ссылки на HTTP, которые перестанут работать.
  • Проверить интеграцию с 1С. Если ваша версия 1С не поддерживает протокол HTTPS, добавьте следующий код в .htaccess:
  • Проверить выгрузки на торговые площадки (Яндекс.Маркет и др). Файлы выгрузки будет нужно сгенерировать заново. В разделе «Рабочий стол» — «Магазин» — «Настройки» — «Экспорт данных» включите опцию «Использовать в выгрузке протокол https» в выгрузке Yandex.
  • Если используется CDN, поставьте флажок в поле «Сайт работает по https» в настройках сервиса «Ускорение сайта CDN».
  • В настройках модуля «E-mail маркетинг» включите https для ссылок в письмах.
Читайте также:  Как починить хрустальную люстру

Drupal

Для Drupal 8 дополнительных настроек не требуется.

Для Drupal 7 в конфигурационный файл settings.php добавьте строки:

MODX Revolution

  1. В админ-панели сайта перейдите в раздел «Настройки» — «Системные настройки» — вкладка «Сайт».
  2. Найдите параметр «Тип сервера» (можно искать по ключу server_protocol ) и замените HTTP на HTTPS.
  3. Далее найдите параметр «Схема URL» (ключ link_tag_scheme ) и замените значение -1 на 1.

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

OpenCart

  1. В админ-панели сайта перейдите в раздел «Система» — «Настройки».
  2. На вкладке «Сервер» в пункте «Использовать SSL» выберите «Да» и сохраните изменения.

В конфигурационном файле /public_html/config.php в блоках HTTP и HTTPS укажите URL вашего сайта с протоколом HTTPS:

В конфигурационном файле /public_html/admin/config.php также укажите протокол HTTPS в блоках HTTP и HTTPS:

Prestashop

  1. Перейдите в раздел «Параметры магазина» — «Общее» и в самом первом пункте «Включить SSL» нажмите на ссылку для проверки поддержки HTTPS.
  2. При появлении уведомления безопасности подтвердите переход по ссылке.
  3. В пункте «Включить SSL» выберите «Да» и сохраните настройки.
  4. В пункте «Включить SSL на всех страницах» выберите «Да» и еще раз сохраните.

Дополнительно рекомендуется очистить кэш: раздел «Расширенные возможности» — «Производительность» — «Очистка кэша».

4. Устранение Mixed Content

Ошибки Mixed Content, то есть ошибки смешанного содержимого, говорят о том, что на сайте, который работает по HTTPS, все еще есть ссылки, которые ведут на HTTP. Это могут быть ссылки как на разделы вашего собственного сайта, так и на сторонние ресурсы. Присутствие смешанного содержимого не только негативно влияет на SEO, но и является проблемой безопасности, так как часть данных оказывается не защищена, несмотря на наличие SSL-сертификата на сайте.

Проверить наличие таких ссылок и ошибок можно:

  • С помощью специальных сервисов, например, JitBit. Сервис выведет список страниц, на которых обнаружено смешанное содержимое.
  • В консоли разработчика в браузере. В Chrome и Firefox ее можно открыть с помощью Ctrl+Shift+J. В поиске введите ‘mixed’, чтобы отфильтровать нужные ссылки.

Для устранения смешанного содержимого нет универсального способа, так как разные сайты имеют свои особенности, однако в целом нужно добиться отсутствия ссылок на HTTP в коде вашего сайта.

В WordPress для этой цели можно использовать специальные плагины, например:

При ручной настройке можно:

1) Заменить во всех ссылках, где возможно, протокол HTTP на HTTPS, то есть вместо ссылок вида:

Если ссылка ведет на сторонний ресурс ( http://некий-сайт/page/file.jpg ), сначала проверьте, что он доступен по HTTPS и ссылка останется рабочей. Если это не так, попробуйте воспользоваться вторым вариантом.

2) Второй вариант — заменить ссылки на относительные вместо абсолютных, то есть вместо ссылок вида:

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

Если ссылка такого вида работает некорректно, а по HTTPS ресурс недоступен, то можно рассмотреть варианты:

  • если это медиа-контент (картинки, видео и пр.) — по возможности загрузить их на сервер TImeweb, в директорию вашего сайта, и после обновить ссылки;
  • найти аналог этого сайта или ресурса и полностью обновить ссылки на данный элемент;
  • не использовать этот файл или скрипт, если есть такая возможность, и полностью удалить его из кода страницы.

Источник

Как правильно настроить .htaccess?

После переезда на https яндекс стал ругаться что не может получить доступ к файлу robots: » Сервер отвечает редиректом на запрос /robots.txt «

Как правильно настроить .htaccess, чтобы robots попал в исключения переадрессации?

Ответы (3)

До переезда сайт был на https или был редерирект — без www, на www? Мало информации, если делали редиректы в .htaccess сделайте исключения для robots.txt

RewriteEngine On
RewriteCond % =off
RewriteCond % !^/robots.txt
RewriteRule (.*) https://%% [QSA,L]

Файл robots.txt (если он действительно существует, а не генерируется CMS), вряд ли будет учитываться данным правилом. Просто потому, что он отдается nginx как статика, а не apache.

Кроме того случая, когда в разделе «Сайты» включено перенаправление с HTTP на HTTPS.
Его как раз следует отключить в том случае, если планируете размещать правила перенаправления в .htaccess:

Поэтому можно смело указывать так:
RewriteEngine On
RewriteBase /
RewriteCond % !1
RewriteRule ^(.*)$ https://%/$1 [R=301,L]

Дополнительно рекомендую в файл .htaccess поместить еще и следующую директиву:
SetEnvIf X-HTTPS 1 HTTPS

Хуже не сделает, а проблему может решить. Надеюсь, поможет! 😛

Источник

Создание и настройка .htaccess

Общие сведения

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

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

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

Создание и редактирование .htaccess

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

1. Перейдите в раздел «Файловый менеджер» панели управления.

2. Выберите пункт меню «Файл» — «Новый файл».

3. Выберите из списка расширений .htaccess.

4. Нажмите кнопку «Создать файл».

Возникновение ошибки «Имя уже используется» означает, что данный файл уже создан в текущей директории.

Для редактирования файла в файловом менеджере перейдите в директорию с данным файлом, выделите его кликом левой кнопки мыши и выберите пункт меню «Файл» — «Редактировать».

В открывшейся форме редактирования можно внести необходимые изменения в файл конфигурации: добавить или удалить директивы. Также можно закомментировать неиспользуемые настройки, для этого необходимо добавить в начале строки символ #. Настройки, указанные в таких строках, учитываться не будут.

Вы также можете редактировать .htaccess во внешних редакторах, но обратите внимание, что текстовые редакторы Windows (например, «Блокнот») при сохранении любых документов с кодировкой UTF-8 добавляют в них метки порядков байтов юникода — BOM-сигнатуры. Файлы с такой сигнатурой некорректно обрабатываются веб-сервером, поэтому мы рекомендуем редактировать .htaccess напрямую в «Файловом менеджере» или через специальный редактор «Notepad++».

Примеры настроек

Перенаправления

Настройка редиректов описана в отдельной статье: Типовые перенаправления.

Параметры PHP

Настройка опций PHP через .htaccess описана в отдельной статье: Настройка параметров PHP.

Управление доступом к сайту

Разрешить или ограничить доступ к сайту для определенных IPv4-адресов можно с помощью директив Order Allow,Deny или Require . В новых версиях Apache, начиная с 2.4, которая используется на наших хостинговых серверах, рекомендуется использовать именно Require.

Обратите внимание, что в рамках нашей архитектуры директивы запрета доступа не будут работать для IPv6. Для запрета доступа с IPv6-адресов необходимо удалить АААА-запись домена.

Разрешить доступ конкретным IP (для остальных доступ запрещен):

Несколько IP-адресов могут указываться через пробел или отдельными директивами, каждая в новой строке.

Запретить доступ конкретным IP (для остальных доступ разрешен). Для работы запрещающих директивы, их необходимо заключать в блоки :

При использовании Allow,Deny:

Разрешить доступ всем, кроме конкретного IP:

Запретить доступ всем, кроме конкретного IP:

Запретить доступ для всех:

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

Защита сайта или директории паролем. Базовая аутентификация

Если требуется защитить сайт или конкретную папку сайта паролем, можно воспользоваться базовой аутентификацией, которая работает на уровне веб-сервера Apache и настраивается также с помощью файла .htaccess.

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

После выполнения команды в корневом каталоге вашего аккаунта будет создан файл .htpasswd, содержащий логин и хэш-сумму пароля. Если в дальнейшем вам потребуется изменить указанный пароль, снова используйте команду выше.

Перейдите в директорию, которую необходимо защитить паролем (например, это может быть директория wp-admin), и создайте в ней файл .htaccess со следующим содержимым, указав вместо u и user первую букву вашего логина и сам логин:

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

Блокировка запросов по User-Agent

Можно ограничить доступ к сайту для определенных User-Agent. Например, при нежелательной активности ботов MJ12bot и SolomonoBot, используйте:

Ограничения по видам запросов

Для применения ограничений для определенных методов запросов можно использовать блоки
:

Для новых версий Apache, начиная с 2.4, оптимально использовать директивы Require и заключать их в блоки :

Индексная страница по умолчанию

Директива DirectoryIndex позволит вам указать страницу, которая будет отдаваться по умолчанию при обращении к директории, например:

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

Собственные страницы ошибок

С помощью директивы ErrorDocument вы можете сообщить веб-серверу, какая страница должна отдаваться клиенту в случае возникновения определенной ошибки (403, 404, 500 и др.). Для этого необходимо указать номер ошибки и адрес нужной страницы:

Вы можете хранить файлы этих страниц как в корне сайта, так и в специально созданной папке, например, errors.

Кодировка

Указать кодировку по умолчанию (например, cp1251, utf-8, koi8-r) для всех выдаваемых страниц можно с помощью AddDefaultCharset, например:

При использовании PHP версии 5.6 и выше может потребоваться дополнительно указать:

Отображение листинга (содержимого директории)

Если индексный файл запрашиваемой клиентом директории недоступен, будет выведена ошибка «403 Forbidden». Если вместо этого необходимо отображение содержимого директории, потребуется добавить в .htaccess директиву:

Источник

Оцените статью