You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

OpenLiteSpeed服务器mod_rewrite功能异常问题求助

解决OpenLiteSpeed Rewrite规则不生效的问题

针对你遇到的.htaccess重写规则无效、访问路径报404的问题,按以下步骤排查修复:

1. 修正RewriteRule的匹配逻辑

你的规则RewriteRule ^/helloWorld/$ /index.php存在几个匹配问题:

  • 绝对路径问题:在.htaccess文件中,RewriteRule的匹配路径是相对于网站根目录的相对路径,不需要开头的/,应改为^helloWorld/$。
  • 大小写不匹配:你访问的是HelloWorld(首字母大写),但规则里是helloWorld,OpenLiteSpeed默认区分大小写。要么修改规则为^HelloWorld/$,要么添加[NC]标记忽略大小写:RewriteRule ^helloworld/$ index.php [NC]。
  • 结尾斜杠限制:规则要求路径必须以/结尾,但你访问的是domain.com/HelloWorld(无结尾斜杠),导致匹配失败。可以去掉结尾的$,或者添加处理斜杠的规则:
    RewriteEngine On
    # 处理结尾无斜杠的情况
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*[^/])$ /$1/ [L,R=301]
    # 重写规则
    RewriteRule ^helloWorld/$ index.php [L,NC]
    

2. 确认.htaccess的位置与权限

  • 确保.htaccess文件放在网站根目录(比如/usr/local/lsws/Example/html/这类路径)。
  • 设置正确的文件权限:权限设为644,所有者改为OpenLiteSpeed运行的用户(通常是nobody或www-data),避免服务器无法读取文件。

3. 检查虚拟主机的Rewrite配置

进入OpenLiteSpeed后台,找到对应虚拟主机的Rewrite设置:

  • 确认Enable Rewrite已设为On。
  • 确认Allow Override设置为All(或至少包含FileInfo,因为RewriteRule属于FileInfo类指令),否则.htaccess中的规则会被忽略。

4. 开启Rewrite日志排查细节

如果以上步骤仍未解决,开启Rewrite日志查看匹配过程:

  1. 进入OpenLiteSpeed后台的Server Configuration -> Logs。
  2. 找到Rewrite Log,设置日志文件路径(比如/usr/local/lsws/logs/rewrite.log),日志级别设为9(最详细)。
  3. 重启OpenLiteSpeed,再次访问测试路径,查看日志内容,就能明确规则未匹配的具体原因。

内容的提问来源于stack exchange,提问作者Depict8997

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 15:45:07