
通过修改 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,会导致: -
✅ 务必同步更新 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 保持一致。
✅ 验证是否成功
- 访问 https://www.website.com → 应正常显示首页;
- 访问 https://www.website.com/wp-admin → 可正常登录后台;
- 查看页面源码,所有链接(CSS、JS、图片)应为相对路径或以 https://www.website.com/ 开头;
- 进入「设置 → 常规」,确认「WordPress 地址(URL)」和「站点地址(URL)」均为 https://www.website.com。
? 提示:若你使用的是共享主机(无 root 权限),无法修改 VirtualHost,则需联系主机商启用“子目录作为主站”功能(部分 cPanel 主机支持“Addon Domain 根目录绑定”或“Primary Domain Redirect”),或改用 WordPress 官方推荐的移动安装法——但该方法需迁移文件+更新数据库+调整权限,复杂度更高。
正确配置 DocumentRoot 是一劳永逸的解决方案,兼顾性能、安全性与 WordPress 原生兼容性。