OpenLiteSpeed服务器RewriteRule配置失效,请求排查问题
排查OpenLiteSpeed下WordPress站点RewriteRule配置问题
你的配置存在以下核心问题,导致无法实现预期的域名保留代理效果:
路径匹配格式错误:OpenLiteSpeed的
.htaccess中,RewriteRule的匹配路径是相对当前站点根目录的,不能以/开头。原规则^/test/(.*)$永远匹配不到请求,应改为^test/(.*)$。误用跳转而非反向代理:原规则会直接将用户浏览器跳转到
dominioapp.com,而非在domainweb.com域名下代理内容。要实现域名保留的代理,需添加[P](Proxy)标志,同时去掉跳转逻辑。规则顺序错误:WordPress的默认Rewrite规则会捕获所有未匹配到文件/目录的请求并转发到
index.php,你的自定义规则放在WordPress规则之后,会被提前拦截。必须将代理规则放在WordPress规则之前,并保留[L]标志确保匹配后终止后续规则执行。域名拼写错误:配置中写的
dominioapp.com和你描述的目标domainapp.com不一致,需修正拼写。
修正后的.htaccess配置
#HTACCESS FINAL RewriteEngine On # 代理/test/开头的请求到目标应用 RewriteRule ^test/(.*)$ https://domainapp.com/test/$1 [P,L] # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
额外注意事项
- 确保OpenLiteSpeed服务器已启用
mod_proxy模块,可在服务器管理控制台的「Modules」中检查并开启。 - 目标应用
domainapp.com需允许来自domainweb.com的代理请求,避免跨域或权限拦截。
内容的提问来源于stack exchange,提问作者jango
相关产品推荐
相关产品推荐

