昨天我把我的Wordpress网站迁移到新的硬件上,从我的。net URL到。ca
迁移站点后,我能够登录,一切正常工作,但在测试期间,我注意到旧的登录页面,example.net/wp-login.php仍然存在。旧的登录example.net/wp-login.php不允许用户登录,它显示错误:"在尝试身份验证时遇到错误。请再试一次。,但我还是想删除它/重定向到新的。
我认为有一个机会,我错过了一个URL在搜索和替换,或在我的配置中的其他地方,所以我重新开始。我购买了插件duplicator pro来处理迁移,并仔细检查了所有常见的怀疑。Wp-config, wp-login, functions.php等
迁移站点后,问题仍然存在。
我开始怀疑这是DNS还是Nginx配置问题。在Route53中,我有。net和。ca A记录指向相同的弹性IP (.ca服务器),然后我有我的配置重定向到示例。ca:
# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.ca example.ca www.example.net example.net;
return 301 https://example.ca$request_uri;
}
server {
listen 443 ssl http2;
server_name example.ca;
root /var/www/html/;
index index.php;
我尝试了很多不同的nginx配置,没有一个改变这个问题。
最后,我用MxToolbox检查DNS和传播,一切都是正确的。
任何想法?
AWS Linux 2, Nginx, PHP 8, MySQL 8.0.29 (Remote)
更新/编辑:
问题是。net的登录页面存在时,它应该只有。ca
错误日志中没有错误。
感谢John Hanley指出我需要一个example.net的监听器。添加侦听器解决了这个问题。我的新配置现在看起来像这样:
# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.ca example.ca www.example.net example.net;
return 301 https://example.ca$request_uri;
}
server {
listen 443 ssl http2;
server_name example.net;
return 301 https://example.ca$request_uri;
# SSL parameters
ssl_certificate /etc/nginx/ssl/fullchain.pem;
ssl_certificate_key /etc/nginx/ssl/privkey.pem;
ssl_trusted_certificate /etc/nginx/ssl/chain.pem;
}
server {
listen 443 ssl http2;
server_name example.ca;
root /var/www/html/;
index index.php;
#The rest of my config