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

迁移至CyberPanel+OLS后Rewrite规则失效求助

迁移到CyberPanel+OpenLiteSpeed后.htaccess Rewrite规则失效的解决办法

核心排查与修复步骤

  1. 确认OLS的Rewrite功能已启用

    • 登录CyberPanel,进入对应网站的「网站设置」→「Rewrite Rules」,确保「Enable Rewrite」选项已勾选
    • 若存疑,可通过OpenLiteSpeed控制台(默认端口7080)检查mod_rewrite模块状态,CyberPanel默认已加载该模块,但需确认未被手动禁用
  2. 修正.htaccess权限
    OLS对文件权限要求严格,需确保.htaccess权限为644,且所属用户/组匹配网站运行用户(多数场景下为nobody):

    chmod 644 /path/to/your/site/.htaccess
    chown nobody:nobody /path/to/your/site/.htaccess
    
  3. 适配OLS的语法差异
    你的.htaccess包含部分Apache旧语法,在OLS中兼容性不佳,做以下调整:

    • 替换旧的访问控制语法:
      原代码:
      <Files .htaccess>
          order allow,deny
          deny from all
      </Files>
      
      改为OLS兼容写法:
      <Files .htaccess>
          Require all denied
      </Files>
      
    • 优化www转非www规则(避免REQUEST_SCHEME的潜在兼容问题):
      原规则:
      RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
      RewriteRule ^ %{REQUEST_SCHEME}://%1%{REQUEST_URI} [R=301,L]
      
      替换为:
      RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
      RewriteCond %{HTTPS} on
      RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]
      RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
      RewriteCond %{HTTPS} off
      RewriteRule ^ http://%1%{REQUEST_URI} [R=301,L]
      
  4. 强制重载OLS配置

    • 在CyberPanel的「Rewrite Rules」页面点击「Save Changes」
    • 或通过SSH执行命令重启OLS服务:
      /usr/local/lsws/bin/lswsctrl restart
      
  5. 逐步测试规则
    暂时注释掉压缩、缓存等非核心规则,只保留RewriteEngine On和1-2条Rewrite规则测试(比如先验证www转非www,再测试page/xxx.html的URL映射),确认核心功能正常后再逐步恢复所有规则。

验证方法

访问测试URL(如https://offerwall.offers4crypto.xyz/page/test.html),通过浏览器开发者工具的「网络」标签,查看请求是否被正确重写至/?page=test,且返回200状态码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 12:15:39