2.7.2. OpenLiteSpeed
Внимание!
При использовании OpenLiteSpeed не рекомендуется включать PageSpeed (см. официальную документацию OLS).Общая информация
LiteSpeed — веб-сервер, разработанный компанией LiteSpeed Technologies, который является альтернативой веб-серверу Apache и совместим с наиболее распространёнными его возможностями вроде .htaccess и mod_rewrite. В первую очередь LiteSpeed интересен тем, что позволяет ускорить работу сайтов за счёт использования специализированных плагинов для различных CMS. Эти плагины обеспечивают интеграцию с кешем LiteSpeed Cache (LSCache).
Существует в двух вариантах — версия с открытым исходным кодом OpenLiteSpeed и платная версия LiteSpeed Enterprise. На хостинге используется первый вариант — OpenLiteSpeed, который имеет ряд отличий от платной версии:
- Не отслеживаются изменения файла
.htaccess— внесённые в него изменения начинают работать не мгновенно, а с некоторой задержкой. - Нет поддержки ESI — из-за этого плагины для интеграции с LSCache будут работать не во всех CMS (например, их не получится запустить в PrestaShop и Magento — плагины для этих CMS требуют обязательного наличия поддержки ESI).
Особенности работы
Веб-сервер LiteSpeed имеет определённые особенности работы и отличается от веб-сервера Apache. Именно поэтому он не поддерживает некоторые возможности Apache, от которых придётся отказаться, чтобы его использовать.
Особенности
- Можно использовать версию PHP не ниже 5.4.
- Существует ряд существенных нюансов при работе с файлом
.htaccess. - Невозможно запускать скрипты:
- Python.
- Perl.
- CGI.
- Не поддерживается модуль
LiteMage. - Не поддерживается симлинки (символьные ссылки на другие файлы или каталоги). При попытке открыть такую ссылку будет возвращён код 403.
.htaccess
- Директивы активируются при первом запросе к сайту и затем обновляются раз в 5 минут (каждые 300 секунд). Из-за этого изменения начинают действовать не сразу и нужно ожидать их применения.
- Работают только директивы
Rewrite(кромеRewriteBase) иOption +SymLinksIfOwnerMatch. Все остальные директивы игнорируются. - Чтобы все директивы
Rewriteкорректно обрабатывались веб-сервером LiteSpeed, нужно их изменить в соответствии с инструкциями из официальной документации. Например, директива для Apache, которая выглядит так:RewriteRule ^example/(.*)$ another/example/$1 [L]В LiteSpeed должна выглядеть так:
RewriteRule ^/?example/(.*)$ another/example/$1 [L]В отличие от Apache, в LiteSpeed директивы должны чётко указывать на определённый каталог, откуда или куда будет производиться редирект. В начале каталогов или имён файлов нужно устанавливать
/, чтобы задать начальную корневую позицию. - Для настройки директив, которые будут использоваться только веб-сервером LiteSpeed, можно использовать обёртку
IfModule, например:<IfModule LiteSpeed> RewriteCond %{REQUEST_URI} ^/example/$ RewriteRule ^.*$ http://%{HTTP_HOST}/another/example/ [R=301,L] <IfModule>
Включение
- Ознакомьтесь с особенностями работы OpenLiteSpeed и убедитесь, что ваш сайт им соответствует.
- Откройте раздел «Настройки сайта».
- В поле «Веб-сервер» выберите «OpenLiteSpeed» и сохраните изменения:

- Подождите примерно 10-15 минут, пока изменения вступят в силу.
Настройка в CMS
Кодировка
В качестве кодировки по умолчанию используется кодировка, выбранная в панели управления (см. Кодировка сайта).
Условия, при которых добавляется кодировка:
- Запрос дошёл до веб-сервера OpenLiteSpeed:
- Запросы к динамическому контенту (скриптам).
- Запросы к статическим файлам, расширения которых отсутствуют в списке статических.
- В ответе OpenLiteSpeed не указана кодировка (например, с заголовком
Content-Type: text/plainвместоContent-Type: text/plain; charset=utf-8).
# 1.To use URL Alias you need to be running apache with mod_rewrite enabled.
# 2. In your opencart directory rename htaccess.txt to .htaccess.
# For any support issues please visit: http://www.opencart.com
Options +FollowSymlinks
# Prevent Directoy listing
Options -Indexes
# Prevent Direct Access to files
<FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))">
Require all denied
## For apache 2.2 and older, replace "Require all denied" with these two lines :
# Order deny,allow
# Deny from all
</FilesMatch>
# SEO URL Settings
RewriteEngine On
# If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/
RewriteEngine On
RewriteBase /
RewriteRule ^/?sitemap.xml$ index.php?route=extension/feed/google_sitemap [L]
RewriteRule ^/?googlebase.xml$ index.php?route=extension/feed/google_base [L]
RewriteRule ^/?system/download/(.*) index.php?route=error/not_found [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css)
RewriteRule ^/?([^/?]*) index.php?_route_=$1 [L,QSA]
RewriteCond %{QUERY_STRING} ^/?route=product/manufacturer$
RewriteRule ^/?(.*)$ https://MYDOMAIN.COM.UA/? [R=301,NC,L]