升级High Sierra后Apache配置的本地WordPress站点CSS/JS加载异常求助
解决High Sierra升级后WordPress资源加载路径错误的问题
这问题我之前帮同事排查过,核心是升级系统后Apache的用户站点配置和WordPress的URL设置不匹配导致的,咱们一步步来搞定:
1. 先修正WordPress的核心URL配置
不管能不能进后台,先把WP的站点URL拉回正确轨道:
- 后台设置法:如果能正常登录WP后台,进入「设置」→「常规」,把「WordPress地址(URL)」和「站点地址(URL)」都改成
http://localhost/Site-Name,保存后刷新页面看看资源加载是否正常。 - wp-config强制法:如果后台进不去,直接找到站点根目录的
wp-config.php文件,在/* That's all, stop editing! Happy publishing. */之前添加两行代码:
这会强制WP使用你指定的URL生成所有资源链接,绕过数据库里的旧配置。define('WP_HOME','http://localhost/Site-Name'); define('WP_SITEURL','http://localhost/Site-Name');
2. 检查Apache虚拟主机配置
升级High Sierra可能重置了Apache的虚拟主机设置,咱们确认一下:
- 打开Apache的虚拟主机配置文件,路径一般是
/etc/apache2/extra/httpd-vhosts.conf - 确保你的站点配置块是类似这样的(替换成你的实际路径):
<VirtualHost *:80> DocumentRoot "/Users/paul/Sites/Site-Name" ServerName localhost/Site-Name <Directory "/Users/paul/Sites/Site-Name"> AllowOverride All Require all granted </Directory> </VirtualHost> - 打开
/etc/apache2/httpd.conf,找到#Include /etc/apache2/extra/httpd-vhosts.conf,把前面的#删掉(开启虚拟主机模块),然后重启Apache:sudo apachectl restart
3. 清理数据库里的旧URL残留
如果上面两步还没解决,说明数据库里还存着带~paul的旧URL,需要批量替换:
- 用phpMyAdmin的话,找到你的WP数据库,执行SQL替换命令:
注意把-- 替换站点核心URL UPDATE wp_options SET option_value = REPLACE(option_value, 'http://localhost/~paul/Site-Name', 'http://localhost/Site-Name') WHERE option_name IN ('home', 'siteurl'); -- 替换文章内容里的链接 UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://localhost/~paul/Site-Name', 'http://localhost/Site-Name'); -- 替换自定义字段里的链接 UPDATE wp_postmeta SET meta_value = REPLACE(meta_value, 'http://localhost/~paul/Site-Name', 'http://localhost/Site-Name');wp_换成你的数据库表前缀(如果改过的话)。 - 终端操作的话,先登录MySQL:
mysql -u root -p,输入密码后选择数据库USE your_wp_db_name;,再执行上面的SQL语句即可。
4. 强制清除缓存
最后一步别忘清缓存:
- 浏览器按
Cmd+Shift+R(Mac)或Ctrl+Shift+R(Windows)强制刷新,跳过本地缓存 - 如果用了WP缓存插件(比如W3 Total Cache、WP Rocket),进入插件后台清空所有缓存
按这个流程走下来,资源路径应该就能恢复正常了。
内容的提问来源于stack exchange,提问作者Bwizard
相关产品推荐
相关产品推荐

