Estou usando o litespeed na hospedagem compartilhada (infelizmente), e estou tentando usar o .htaccess para reescrever http em https NON www - e alterar domain.com/index
para domain.com/my-string
para fins de SEO.
Isso está funcionando bem no Apache, e eu não sabia que meu host compartilhado estava usando o Litespeed. Eu uso o mesmo .htaccess em litespeed que resulta em um 404, apesar do meu nome do arquivo estar correto.
Aqui está o meu 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
A seção inferior foi adicionada pelo meu host.
Isso está funcionando corretamente no Apache, executa o redirecionamento 301 de http não www, ou http www para https não www com minha string no final da URL, em vez de indexar.
Meu entendimento é que o litespeed usa a mesma sintaxe do Apache, então por que isso está acontecendo?