Django URLValidator会因为下划线而引发此网站网址的验证错误:
http://beauharnois_bupa.tripod.com/
据我所知,有人说这不是一个有效的域名,有人说它是,并且RFC似乎说它在子域标签中是合法的,但不在主机名中。
我的猜测是它在子域名标签中是合法的,因为上面提到的网站有效..
谁是对的?
答案 0 :(得分:4)
下划线不是有效字符,即使在子域中也是如此,因此它将被标记为无效。但是,某些基于子域组件 动态路由请求的站点允许使用下划线,即使它们在技术上是无效字符。因此,您可以导航到URL,即使它在技术上无效。
RFC 1035讨论了域名的结构。
答案 1 :(得分:3)
根据Can (hostname) subdomains have an underscore "_" in it?它应该是合法的。
在域名中使用下划线是完全合法的。让我引用标准RFC 2181第11节“名称语法”: