我的虚拟主机在使用正则表达式时遇到了问题。当我使用以下代码时,出现 404 未找到错误:
$HTTP["host"] =~ "(^|\.)example\.com$" {
...
}
但是,当我明确将其设置为以下内容时,我可以访问我的网站:
$HTTP["host"] == "example.com" {
...
}
有人知道为什么会发生这种情况吗?文档相当稀少。
答案1
我觉得我找到了问题所在。我使用的是端口 8080,而不是端口 80,而且我看到了最底部的隐藏文本文档页面其中指出:
(对您不起作用?如果您没有在默认端口上运行,$HTTP["host"] 将附加端口号,并且上述正则表达式将与其不匹配,因为尾随的“$”表示“字符串以此方式结束”。)
答案2
您已经发现问题;现在使用($|:)
或(:[0-9]+)?$
代替 来修复它$
。