我在我的网站上使用以下重写,它在共享服务器中运行良好。
RewriteEngine On
<Files .*>
Order Deny,Allow
Deny From All
</Files>
<Files ~ "^\.ht">
order allow,deny
deny from all
satisfy all
</Files>
<FilesMatch "^php5?\.(ini|cgi)$">
Order Deny,Allow
Deny from All
Allow from env=REDIRECT_STATUS
</FilesMatch>
AddDefaultCharset utf-8
Options All -Indexes
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|png|js|css|swf|ico|txt|pdf|xml)$ [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ public_html/index.php [NC,L]
但现在它显示以下错误。
404未找到
在此服务器上找不到请求的资源!
由LiteSpeed Web服务器提供支持
LiteSpeed Technologies不对本网站的管理和内容负责!
如何解决此错误?
它对LiteSpeed
的行为有何不同?
答案 0 :(得分:1)
您使用的是Litespeed Enterprise还是Openlitespeed?
OpenLitespeed无法使用.htaccess文件,您需要通过网络管理员进行配置: 编辑虚拟主机 - &gt;重写
Litespeed Enterprise应该使用htaccess文件,请确保将其配置为使用它:
编辑虚拟主机 - &gt;重写 - &gt;启用重写:否
答案 1 :(得分:1)
根据我的经验,OpenLiteSpeed可以正确加载大多数重写,但是由于可选的初始斜杠,因此必须在规则前面加上“ /?”。
FilesMatch规则需要在上下文或重写级别设置,请参见此处:
https://openlitespeed.org/kb/access-control/#Controlling_Access_to_Files
答案 2 :(得分:0)
.htaccess支持Openlitespeed,但必须在Openlitespeed管理面板中进行设置。 在Openlitespeed管理面板中,单击虚拟主机,选择您的虚拟主机。在“ Klik重写”选项卡上,在“重写控制”->“启用重写”中选择“是”。将文件指向“重写规则”,例如/usr/local/lsws/web/.htaccess,然后重新启动litespeed。
如果您使用centos,则可以从https://github.com/tujuhion/openlitespeed-centos-autoinstall起使用具有多虚拟主机支持的自动安装脚本
答案 3 :(得分:0)
litespeed面板中每个版本的php;您必须添加单独的脚本处理程序和external-app,最后逐步重启lsws服务。