求助:子目录安装WordPress后无法加载,跳转至根目录站点
子目录WordPress站点跳转到根目录站点的解决方案
1. 检查子目录的.htaccess文件
根目录WP生成的.htaccess规则可能干扰子站点。确认weddings子目录内有专属的WP.htaccess文件,内容必须为:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase /weddings/ RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /weddings/index.php [L] </IfModule> # END WordPress
如果子目录无此文件,手动创建,注意RewriteBase和最后一行的路径要与子目录名完全匹配。
2. 修正子目录站点的WP后台设置
直接通过yourdomain.com/weddings/wp-admin登录子目录WP后台,进入设置→常规检查:
- “WordPress地址(URL)”和“站点地址(URL)”必须均设为
https://yourdomain.com/weddings(替换为你的实际域名) - 若之前设置错误,修改后保存即可,可能需要重新登录后台。
3. 修改根目录的.htaccess规则
根目录的.htaccess可能将所有请求导向主站点,需添加排除规则,让weddings目录的请求不受根规则影响。在根目录.htaccess的RewriteEngine On行之后,添加:
RewriteRule ^weddings/ - [L]
4. 检查服务器配置
- Apache:确保服务器允许子目录使用
.htaccess,即主配置或虚拟主机配置中,针对根目录和子目录的AllowOverride设置为All。 - Nginx:使用Nginx时,需在服务器配置中为子目录添加独立的location规则,示例:
location /weddings { try_files $uri $uri/ /weddings/index.php?$args; }
同时确保根目录的location规则不会覆盖该子目录配置。
5. 清除所有缓存
- 清除浏览器缓存和Cookie,避免旧重定向缓存干扰访问。
- 若使用CDN或根站点缓存插件(如WP Rocket、W3 Total Cache),同步清除对应缓存。
6. 直接修改数据库(后台无法登录时使用)
若子目录WP后台无法登录,直接修改数据库:
- 找到子目录WP对应的数据库,打开
wp_options表(前缀修改过则为xxx_options) - 将
siteurl和home两个选项的值修改为https://yourdomain.com/weddings
内容的提问来源于stack exchange,提问作者Khoa
相关产品推荐
相关产品推荐

