如何将子目录安装的 WordPress 网站设为根域名访问

8次阅读

如何将子目录安装的 WordPress 网站设为根域名访问

通过修改 apache 虚拟主机的 documentroot 指向 wordpress 子目录(如 public_html/wordpress),即可让网站直接通过 https://www.website.com 访问,无需路径前缀,同时保留 wp-admin 等后台路径正常工作。

要将原本安装在子目录(例如 public_html/wordpress/)中的 wordpress 正确“提升”为根域名站点(即 https://www.website.com/),最规范、高效且无兼容性风险的方式是调整 Web 服务器的文档根目录(DocumentRoot),而非依赖 .htaccess 重写规则。

✅ 正确做法:修改 apache VirtualHost 配置

假设你的 WordPress 物理路径为 /var/www/html/public_html/wordpress/(请根据实际路径替换),编辑对应站点的虚拟主机配置文件(通常位于 /etc/apache2/sites-available/your-site.conf 或 /etc/httpd/conf.d/vhost.conf):

     ServerName www.website.com     ServerAlias website.com     DocumentRoot /var/www/html/public_html/wordpress               Options Indexes FollowSymLinks         AllowOverride All         Require all granted           ErrorLog ${APACHE_LOG_DIR}/website_error.log     CustomLog ${APACHE_LOG_DIR}/website_access.log combined 

? 关键点: DocumentRoot 必须指向 WordPress 的实际安装目录(含 index.php, wp-admin, wp-includes 等); 块中必须启用 AllowOverride All,确保 .htaccess(如 WordPress 默认重写规则)可生效; 修改后执行 sudo a2ensite your-site.conf(debian/ubuntu)或重启 Apache:sudo systemctl reload apache2(或 httpd)。

⚠️ 注意事项与常见误区

  • 不要仅靠 .htaccess 重写“伪装”根目录
    你提供的原始规则(RewriteBase /wordpress/)仅适用于 WordPress 仍以 /wordpress/ 为逻辑路径运行的场景。若强行移除路径前缀却不改 DocumentRoot,会导致:

    • siteurl 和 home 选项未更新 → 静态资源(css/js)404;
    • 后台重定向异常(如登录后跳转到 /wordpress/wp-admin/);
    • REST API、ajax 请求失败。
  • 务必同步更新 WordPress 数据库设置
    登录 mysql,执行以下命令(替换 your_database):

    USE your_database; UPDATE wp_options SET option_value = 'https://www.website.com' WHERE option_name IN ('siteurl', 'home'); -- 若存在 serialized data(如主题设置中的 URL),建议使用 WP-CLI 或安全插件批量更新

    或更稳妥地:在 wp-config.php 顶部编码声明(优先级最高,避免 DB 误配):

    define('WP_HOME', 'https://www.website.com'); define('WP_SITEURL', 'https://www.website.com');
  • ? 如果使用 HTTPS,请确保 ssl 证书已覆盖主域名,并在 VirtualHost 中配置 *:443 端口,DocumentRoot 保持一致。

✅ 验证是否成功

  1. 访问 https://www.website.com → 应正常显示首页;
  2. 访问 https://www.website.com/wp-admin → 可正常登录后台;
  3. 查看页面源码,所有链接(CSS、JS、图片)应为相对路径或以 https://www.website.com/ 开头;
  4. 进入「设置 → 常规」,确认「WordPress 地址(URL)」和「站点地址(URL)」均为 https://www.website.com。

? 提示:若你使用的是共享主机(无 root 权限),无法修改 VirtualHost,则需联系主机商启用“子目录作为主站”功能(部分 cPanel 主机支持“Addon Domain 根目录绑定”或“Primary Domain Redirect”),或改用 WordPress 官方推荐的移动安装法——但该方法需迁移文件+更新数据库+调整权限,复杂度更高。

正确配置 DocumentRoot 是一劳永逸的解决方案,兼顾性能、安全性与 WordPress 原生兼容性。

text=ZqhQzanResources