在 Apache 中,如果 1) 我有多个虚拟主机侦听一个端口并且 2) 如果没有请求与任何虚拟主机匹配,那么第一个虚拟主机将是响应请求的虚拟主机。例如,假设我有这个配置:
<VirtualHost *:8080>
ServerName www.fallbacksite.com:8080
ServerAlias *.fallbacksite.com
# ...
</VirtualHost>
<VirtualHost *:8080>
ServerName www.specific-site.com:8080
ServerAlias *.specific-site.com
# ...
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
然后:
这是我试图用 nginx 实现的最后一个场景,但在 nginx.org 站点中看不到任何关于此的内容。我尝试了过于急切的通配符,但它抱怨说它无效。
您将如何在 nginx 中进行上述配置?提前致谢!
如果您只想要一个特定的虚拟主机来回答请求,您可以简单地执行以下操作。添加(或更改)监听行以包含default_server
在末尾。这将在不更改 URL 的情况下为该虚拟主机提供服务。
server {
# Add default_server for any unresolved request
listen 80 default_server;
}
Run Code Online (Sandbox Code Playgroud)
如果您想在用户点击时进行重定向,hellohowareyou.com
您可以添加一个新server
块并重定向到您要使用的主机:
server {
# Add default_server only here for any unresolved request
listen 80 default_server;
server_name _;
rewrite ^ http://fallbacksite.com$request_uri permanent;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4804 次 |
最近记录: |