修改WordPress的URL与Home后网站无法访问的技术求助
解决WordPress修改域名后无法访问的问题
刚接触Web开发遇到这种配置问题确实挺头疼的,我帮你一步步排查解决:
1. 先修复数据库里的WordPress地址
你在后台修改地址后可能没完全同步到数据库,或者缓存导致生效异常,直接改数据库是最稳妥的办法:
- 打开
127.0.0.1/phpmyadmin,找到你的WordPress数据库(一般是带wp_前缀的,或者你自己命名的) - 找到
wp_options表(前缀如果改了就对应你的前缀),搜索option_name列的siteurl和home两个条目 - 把这两个条目的
option_value都改成你的域名(比如http://yourdomain.com,注意不要加多余的格式标签) - 点击保存按钮
2. 配置Apache虚拟主机指向你的WordPress
现在输入公网IP显示Apache默认页面,说明Apache没有把你的域名指向WordPress安装目录:
- 通过SSH登录服务器,进入Apache虚拟主机配置目录:
cd /etc/apache2/sites-available/ - 创建或编辑你的域名配置文件,比如
sudo nano yourdomain.conf,写入以下配置(替换成你的域名和WordPress路径):
<VirtualHost *:80> ServerName yourdomain.com ServerAlias www.yourdomain.com DocumentRoot /var/www/html/wordpress # 这里改成你的WordPress实际安装路径 <Directory /var/www/html/wordpress> AllowOverride All # 开启重写规则支持 Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/yourdomain_error.log CustomLog ${APACHE_LOG_DIR}/yourdomain_access.log combined </VirtualHost>
- 保存退出(按
Ctrl+O,回车,再Ctrl+X) - 启用这个虚拟主机:
sudo a2ensite yourdomain.conf - 禁用默认的虚拟主机(避免冲突):
sudo a2dissite 000-default.conf - 启用Apache重写模块(WordPress固定链接需要):
sudo a2enmod rewrite - 重启Apache服务:
sudo systemctl restart apache2
3. 检查WordPress的.htaccess文件
.htaccess负责WordPress的URL重写,配置不对会导致页面NotFound:
- 进入你的WordPress安装目录:
cd /var/www/html/wordpress - 查看是否有
.htaccess文件(Linux下隐藏文件用ls -a查看),如果没有就创建一个:sudo nano .htaccess - 写入标准的WordPress重写规则:
# 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
- 保存后设置正确的权限:
sudo chown www-data:www-data .htaccess sudo chmod 644 .htaccess
4. 清理缓存避免干扰
- 清空浏览器缓存,或者用隐私模式访问你的域名
- 如果装了缓存插件,比如W3 Total Cache,删除缓存目录的文件:
sudo rm -rf /var/www/html/wordpress/wp-content/cache/*
额外提醒(给新手)
- 以后如果遇到WordPress后台地址字段变灰的情况,不用删除
wp-config.php里的WP_HOME和WP_SITEURL,直接把值改成正确的域名就行,这样后台字段虽然灰但地址是对的,也能避免修改后台出错 - 确认你的域名已经正确解析到服务器的公网IP(去域名服务商后台设置A记录指向你的IP)
内容的提问来源于stack exchange,提问作者Christopher Little
相关产品推荐
相关产品推荐

