部署中文域名站点,下面讲诉设置中文域名站点——“郝越.我爱你”。
设置域名解析
第一步是在设置域名 A 记录,使主机记录中的 @ 和 www 都指向一个 ip。
上图为万网域名解析后台解析设置
设置 Nginx server_name
第二步是修改 nginx/conf/nginx.conf 或者其他 vhost 文件,在 server_name 这一行调整为经过 idn_to_ascii 函数编码的中文域名,而不是原始的中文域名。
server { listen 80; server_name xn--vq3al9d.xn--6qq986b3xl; index index.php; root /alidata/www/love; }
“郝越.我爱你”经过编码之后是“xn--vq3al9d.xn--6qq986b3xl”。
在百度搜索“中文域名编码”,进入在线编码的网站,提交中文域名,即可将中文域名转为 punycode 或者是 GBK 编码。在 nginx 配置文件中使用 punycode 即可。
设置完成之后 reload nginx,即可访问中文域名。
在浏览器地址栏看到的虽然是中文域名,但实际的链接是 http://xn--vq3al9d.xn--6qq986b3xl 。通过 JavaScript document.domain 获取到的域名也是 “xn--vq3al9d.xn--6qq986b3xl”,两者其实是同一个,通过任何一个地址都能访问到服务器。