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 хвилин, поки зміни набудуть чинності.
# 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]