2011-08-18 70 views
50

您允许在子域中使用哪些字符?子域中允许的字符是什么?

例如:对于someSub.example.comsomeSub部分。

我知道你可以使用字母,数字和连字符,但其他字符呢?可以使用_(下划线)吗?

+0

http://tools.ietf.org/html/rfc1034 – geoffspear

+5

谁在这里搜索正则表达式^(?:[A-Za-z0-9] [A-Za-z0-9 \ - ] {0 ,61} [A-Za-z0-9] | [A-Za-z0-9])$和这里的一些例子http://fiddle.re/20xcv –

回答

63

字母(除了强调的),数字0-9和连字符。

http://en.wikipedia.org/wiki/Domain_name 摘录:可在一个域名使用 有效字符是:在DNS

a-z 
0-9 
- but not as a starting or ending character 
. as a separator for the textual portions of a domain name 

http://tools.ietf.org/html/rfc1035

各种目的和参数具有大小限制。他们是 下面列出。有些可以很容易地改变,其他更多的是基本的 。

labels   63 octets or less 
names   255 octets or less 
TTL    positive values of a signed 32 bit number. 
UDP messages 512 octets or less 
13

技术上威廉是正确的,只有字母,数字和连字符( - )允许的子域。

但是:实际上,您会看到下划线(_)也适用于所有主流浏览器,但不能保证。某些提供商和其他服务可能不允许您在DNS中进行设置。

如果您在DNS中设置了通配符,它​​将会解析,然后由实际的应用程序来接受或忽略它。

+19

有点迟了,但是这花了我2天的时间。请勿在您的子域中使用UNDERSCORES(_)!如果你愿意,Internet Explorer将不会让你的会话保持活跃! –

+0

多么奇怪的副作用! –

24

根据this page,一些顶级域现在允许本地化字符(不仅仅是a-z)。

-------------------------------------------------------------------------------- 
| Top Level Domain |     Allowed Characters      | 
-------------------------------------------------------------------------------- 
| .no    | áàäčçđéèêŋńñóòôöšŧüžæøå         | 
| .se    | àáäåæçèéêëìíîïðñòóôöøùúüýþćčđěłńŋřśšţŧźžǎǐǒǔǥǧǩǯəʒ, plus Hebrew 
| .dk    | äåæéöøü 
| .is    | áéýúíóþæöð 
| .it    | àâäèéêëìîïòôöùûüæœçÿ 
| .fr    | àáâãäåæçèéêëìíîïñòóôõöùúûüýÿœ 
| .nu    | àáâäåāæçèéêëēìíîïīðñŋòóôõöøōùúûüūýþÿ 
| .be    | àáâãäåæçèéêëìíîïðñòóôõöøùúûüýþÿœ 
| .de    | àáâãäåāăąæçćĉċčďđèéêëēĕėęěŋðĝğġģĥħìíîïĩīĭįıĵķĸĺļľł 
|     | ñńņňòóôõöøōŏőœŕŗřśŝşšţťŧþùúûüũūŭůűųŵýÿŷźżž 
| .as    | Same as .de 
| .com    | Same as .de, plus Greek, Cyrillic, Chinese, Korean, etc. 
| .net    | Same as .de, plus Greek, Cyrillic, Chinese, Korean, etc. 
| .org    | áäåāąæćčéēėęģíīįķļłñńņðóöøōőŗśšúüūűųýźżžþ plus Cyrillic and Korean 
| .info   | áäåāąæćčéēėęģíīįķļłńņðóöøōőŗśšúüūűųýźżžþ plus Korean 
| .biz    | àáäåæéêíðñòóôöøúüýþ 
-------------------------------------------------------------------------------- 

所以,看起来我们需要回到那个正则表达式的绘图板。

+4

请注意,这些附加字符只有在主机名被编码为国际化域名时才允许使用标准集[A-Za-z0-9-](请参阅https://en.wikipedia.org/wiki/Internationalized_domain_name# Example_of_IDNA_encoding)。 –

1

具有讽刺意味的是,这个问题的其他答案是“主机名或主域的合法字符是什么”的正确答案,而question“can(​​hostname)子域具有下划线”的答案是正确的回答这个问题。