apache2 和 VirtualHost 带有外来字符和多个别名

apache2 和 VirtualHost 带有外来字符和多个别名

我有一个简单的 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

相关内容