WordPress克隆项目本地部署404错误与样式失效求助
WordPress样式丢失&链接失效排查方案(Ubuntu 22.04 + Apache)
1. 修复Apache虚拟主机配置问题
你当前的虚拟主机配置存在逻辑矛盾:DocumentRoot已经指向/var/www/html/dipkar-wp,但仍通过localhost/dipkar-wp访问,导致请求路径变成/var/www/html/dipkar-wp/dipkar-wp/wp-content,自然返回404。按以下步骤修正:
- 将配置文件放到Apache站点目录:
sudo mv wordpress.conf /etc/apache2/sites-available/ - 启用该虚拟主机并禁用默认站点:
sudo a2ensite wordpress.conf sudo a2dissite 000-default.conf - 删除配置中多余的
Alias行,修改后的配置如下:<VirtualHost *:80> DocumentRoot /var/www/html/dipkar-wp ServerAdmin root@localhost <Directory /var/www/html/dipkar-wp> Options FollowSymLinks AllowOverride all DirectoryIndex index.php Require all granted </Directory> </VirtualHost> - 重启Apache生效:
sudo systemctl restart apache2 - 之后直接用
http://localhost访问站点,不要再加/dipkar-wp后缀。
2. 修正WordPress站点URL设置
克隆的项目数据库中可能保留了原环境的URL,导致资源路径错误,二选一修复即可:
- 通过wp-config.php强制设置:在
/var/www/html/dipkar-wp/wp-config.php末尾添加:define('WP_HOME','http://localhost'); define('WP_SITEURL','http://localhost'); - 通过数据库修改:登录MySQL,找到WordPress对应的数据库,执行(注意替换
wp_为你的表前缀):UPDATE wp_options SET option_value = 'http://localhost' WHERE option_name = 'siteurl'; UPDATE wp_options SET option_value = 'http://localhost' WHERE option_name = 'home';
3. 检查文件权限
确保Apache进程拥有文件读取权限:
sudo chown -R www-data:www-data /var/www/html/dipkar-wp sudo chmod -R 755 /var/www/html/dipkar-wp sudo chmod -R 644 /var/www/html/dipkar-wp/wp-content/themes/dipkar/assets/css/
4. 修复.htaccess规则
AllowOverride all已开启,确保站点根目录存在正确的.htaccess文件,内容如下:
# BEGIN 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> # END WordPress
如果没有该文件,修复URL后登录WordPress后台,进入「设置-固定链接」,随便切换一种链接格式并保存,系统会自动生成正确的.htaccess。
内容的提问来源于stack exchange,提问作者MLNN
相关产品推荐
相关产品推荐

