htaccess在litespeed中不起作用

时间:2013-10-11 08:36:47

标签: php .htaccess litespeed

我在我的网站上使用以下重写,它在共享服务器中运行良好。

 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的行为有何不同?

4 个答案:

答案 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服务。