我有以下代码来确保api.example.com
将调用example.com/api.php
。它在我的本地主机上运行良好,但在我的网站上却不行。
RewriteEngine On
# Handle Front Controller...
RewriteCond %{HTTP_HOST} ^api\.(.*)
RewriteRule ^ api.php [L]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ website.php [L]
浏览器返回错误ERR_NAME_NOT_RESOLVED
。问题是什么?如何修复?
答案1
从另一个网络上的另一台机器尝试。返回什么host
?您获得正确的 IP 了吗?
host api.example.com
答案2
这ERR_NAME_NOT_RESOLVED
意味着问题与服务器无关。这意味着浏览器甚至没有发送任何请求,因为它api.example.com
在名称记录中找不到任何请求。
您必须打开购买域名的帐户并找到可以管理 DNS 记录的设置。然后您可以:
- 通过在 A 类记录的名称字段中添加通配符来指向您的 . ,
anything.example.com
例如:example.com
*.example.com
- 仅通过 CNAME 记录指向
api.example.com
您的example.com
api
api.example.com
请注意,DNS 记录的更改有时可能需要超过 24 小时才能生效。但通常所需时间会更短。