Я использую litespeed на общем хостинге (к сожалению), и я пытаюсь использовать .htaccess, чтобы переписать http на https NON www - и изменить domain.com/index
к domain.com/my-string
в целях SEO.
Это нормально работает в Apache, и я не знал, что мой общий хост использует Litespeed. Я использую тот же .htaccess для litespeed, что дает результат 404, несмотря на то, что мое имя файла правильное.
Вот мой htaccess:
DirectoryIndex my-string.php
Options +Indexes
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^$ my-string [L]
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^my-string$ /my-string.php [L]
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php56” package as the default “PHP” programming language.
<IfModule mime_module>
AddType application/x-httpd-ea-php56 .php .php5 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
Нижний раздел был добавлен моим хозяином.
Это работает правильно в Apache, выполняет перенаправление 301 с http без www или с http www на https без www с моей строкой в конце URL-адреса вместо index.
Насколько я понимаю, litespeed использует тот же синтаксис, что и Apache, так почему это происходит?