![DNS 缓存问题或 apache vhosts 混淆?](https://linux22.com/image/525751/DNS%20%E7%BC%93%E5%AD%98%E9%97%AE%E9%A2%98%E6%88%96%20apache%20vhosts%20%E6%B7%B7%E6%B7%86%EF%BC%9F.png)
我正在尝试从一个 ubuntu VPS 设置迁移到另一个,但遇到了子域问题,而我的旧服务器上没有这个问题。我不确定我的问题出在 DNS 记录还是 Apache 上。不幸的是,我无法访问旧服务器的 DNS 记录,只能访问新服务器的 DNS 记录
问题:
域名.com和www.域名.com
不显示新服务器上的代码,显示旧服务器上的代码,我希望这些 URL 显示代码/var/www/domainname.com.live
stage.domainname.com
工作正常,显示来自我的新服务器的代码,具体来说/var/www/stage.domainname.com.live
完整性检查:
- 我没有 .htaccess 文件
- 我已经检查 mod_rewrite 是否已启用
- 以下网站已“启用”
a2ensite
- 5 天前,域名服务器已切换到我的新服务器
我的新服务器的 DNS 记录:
*.domainname.com 181.102.220.244 domainname.com 86400 A
domainname.com 181.102.220.244 domainname.com 600 A
stage.domainname.com 181.102.220.244 domainname.com 600 A
来自我的新服务器的代码摘录:
文件 /etc/apache2/sites-available/domainname.com
<VirtualHost *:80>
ServerName domainname.com
ServerAlias www.domainname.com
DocumentRoot /var/www/domainname.com.live
DirectoryIndex index.php
ServerSignature Email
<Directory "/var/www/domainname.com.live">
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(favicon\.ico|admin\.php|index\.php|assets|assets-uploaded|robots\.txt)
RewriteRule ^admin/(.*)$ /admin.php?$1 [L]
RewriteCond $1 !^(favicon\.ico|admin\.php|index\.php|assets|assets-uploaded|robots\.txt)
RewriteRule ^(.*)$ /index.php?$1 [L]
</Directory>
</VirtualHost>
文件 /etc/apache2/sites-available/stage.domainname.com
<VirtualHost *:80>
ServerName stage.domainname.com
ServerAlias stage.domainname.com
DocumentRoot /var/www/stage.domainname.com.live
DirectoryIndex index.php
ServerSignature Email
<Directory "/var/www/stage.domainname.com.live">
RewriteEngine on
RewriteBase /
RewriteCond $1 !^(favicon\.ico|admin\.php|index\.php|assets|assets-uploaded|robots\.txt)
RewriteRule ^admin/(.*)$ /admin.php?$1 [L]
RewriteCond $1 !^(favicon\.ico|admin\.php|index\.php|assets|assets-uploaded|robots\.txt)
RewriteRule ^(.*)$ /index.php?$1 [L]
</Directory>
</VirtualHost>
nslookup
$nslookup domainname.com
Non-authoritative answer:
Name: domain.com
Address: oldServerIP
$nslookup stage.domainname.com
Non-authoritative answer:
Name: stage.domainname.com
Address: newServerIP
答案1
您是否刚刚设置了它,并且旧服务器上有暂存域?nslookup 对所有域的显示是什么?所有记录是否都指向正确的服务器?
在我看来,这更像是 DNS 缓存问题,而不是 Apache 问题。