OpenLiteSpeed WordPress VPS子目录部署非WP站点出现404错误
解决OpenLiteSpeed下WordPress根目录子目录非WP站点404问题
核心原因
WordPress根目录的.htaccess默认Rewrite规则会把所有请求导向WP入口文件,包括/test子目录的请求,导致OpenLiteSpeed无法识别子目录内的站点文件,返回404错误。
解决方案
1. 修改根目录.htaccess规则
编辑/var/www/html/.htaccess,在WordPress自带的Rewrite规则之前添加排除/test目录的规则:
# 跳过test目录的WP规则,直接访问子站点 RewriteEngine On RewriteRule ^test/ - [L] # 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>
这段规则会让所有以test/开头的请求停止后续Rewrite流程,直接读取/var/www/html/test目录下的文件。
2. 检查子目录权限
确保/var/www/html/test及其文件的权限能被OpenLiteSpeed运行用户读取:
# 若运行用户是nobody,按实际情况调整 chown -R nobody:nobody /var/www/html/test chmod -R 755 /var/www/html/test
3. 验证OpenLiteSpeed配置
- 登录OpenLiteSpeed控制台,找到对应虚拟主机,确认Rewrite模块已开启。
- 若
test子目录有自己的.htaccess,需将虚拟主机的Allow Override设置为All,允许子目录的规则生效。
测试
修改完成后重启OpenLiteSpeed服务:
systemctl restart lsws
再访问https://example.com/test,即可正常加载子站点内容。
内容的提问来源于stack exchange,提问作者John C
相关产品推荐
相关产品推荐

