Apache .htaccess 运行正常,但使用 Litespeed 时出现 404

Apache .htaccess 运行正常,但使用 Litespeed 时出现 404

我在共享主机上使用 litespeed(不幸的是),并且我尝试使用 .htaccess 将 http 重写为 https NON www - 并更改domain.com/indexdomain.com/my-string用于 SEO 目的。

这在 Apache 中运行良好,我不知道我的共享主机正在使用 Litespeed。我在 litespeed 上使用相同的 .htaccess,结果出现 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 中运行正常,执行从 http 非 www 或 http www 到 https 非 www 的 301 重定向,并且在 URL 末尾使用我的字符串,而不是 index.

我的理解是 litespeed 使用与 Apache 相同的语法,那么为什么会发生这种情况?

答案1

评论区已满,因此我链接了我的相关答案:

https://serverfault.com/a/1083495/144798

要使本地 .htaccess 在 Openlitespeed 上运行,您首先必须生成这些文件,然后还必须指向每个虚拟主机中的这些文件并确保正确的权限。如果您未能做到这一点,您的网站可能会崩溃(致命错误和/或类似这样的 404 错误)。此外,每次更改 .htaccess 规则时,您都必须重新启动 Litespeed 服务器。

相关内容