【发布时间】:2011-02-01 09:41:26
【问题描述】:
我正在尝试编写(或只是找到一个现有的)可以获取链接并提取 url 的 PHP 方法。诀窍是,它需要承受看起来很奇怪的域的重压,例如:
www.champa.kku.ac.th
我自己用肉眼看这个,我还是猜错了:以为域是kku.ac.th,但访问时会出现dns错误。
所以任何人都知道从 url 中可靠地提取域的好方法:
http://site.com/hello.php
http://site.com.uk/hello.php
http://subdomain.site.com/hello.php
http://subdomain.site.com.uk/hello.php
http://www.champa.kku.ac.th/hello.php // and even the one I couldn't tell
【问题讨论】:
-
whois 说 kku.ac.th 是域。我猜他们没有为网络浏览器设置正确的 DNS 记录(而不是 MX 等)。
-
我认为 A record 是我一直在寻找的术语!
-
@Martin,感谢您指出这一点。
-
通过您的 Web 服务器(例如 apache/nginx/iis)传递一个环境变量,以像 $_SERVER['SERVER_NAME'] 一样跟踪。我使用 $_SERVER['HOST_ROOT'] 来存储站点库。然后你可以检查 parse_url($url)['host'] 的 END 与 strpos 的 HOST_ROOT 并将其余部分放入 $subdomains = explode('.', $theRest);