我有一个简单的 apache2 设置,其中包含两个 VirtualHosts。一个是包含“普通”字符的域名,另一个包含外文字符(带有 punycode)。
问题是我不知道如何将“www”添加为 punycode 域的别名。使用“普通”域名则没问题。
这是“正常”主机:
ServerName aev25.no
ServerAlias www.aev25.no
我可以使用名称和别名访问正确的站点。
这是“外国”/punycode 主机:
ServerName xn--hvin-gra.no
ServerAlias høvin.no
现在,由于我没有带“www”的别名,所以它自然不会这样工作。但如果我尝试添加另一个别名,如下所示:
ServerName xn--hvin-gra.no
ServerAlias høvin.no
ServerAlias www.høvin.no
或这个:
ServerName xn--hvin-gra.no
ServerAlias høvin.no www.høvin.no
它不起作用。它只是打开默认的 apache2 站点。因此,尽管 apache2 没有抱怨,但这似乎不是正确的做法。
我还为域 aev25.no 设置了服务器别名,其中的 ServerAlias 是 www.aev25.no。该设置运行正常,这应该表明问题与 www.* 无关。:
ServerName aev25.no
ServerAlias wwwaev25.no
(工作正常)
那么,如何向域添加另一个别名?或者我应该用其他方法吗?
注意:apache2 版本是 2.2.22。
答案1
我无法测试它,但我依稀记得在某处读到过,你需要在 ServerName 和 ServerAlias 指令中使用 punycode。我会尝试
ServerAlias www.xn--hvin-gra.no
我www.xn--hvin-gra.no
通过将 www.høvin.no 输入到随机 punycode 转换器中得到了该信息。
我做了一个简单的谷歌搜索,这是正确的apache serveralias punycode