[英]make a subdirectory show the content of a subdomain in nginx
我想处理:
blog.example.com => example.com/blog
blog.example.com/xxx => example.com/blog/xxx
在这两个示例中,博客子目录中都没有任何内容,应该处理博客的代码位于子域中。 而我只想显示上面显示的网址。
所以。 我想将子目录转发(重定向而不更改url)到子域。
是否有任何nginx配置可以做到这一点?
您的NGINX配置中可能包含以下内容。
server {
listen 80;
server_name blog.example.com;
location / {
return 301 $scheme://example.com/blog$request_uri;
}
}
server {
listen 80;
server_name example.com;
location /blog/ {
<your code goes here>
}
}
这会将所有传入请求都发送到blog.example.com
并重定向到example.com/blog
以及所请求的URI,例如。 blog.example.com/latest
将重定向到example.com/blog/latest
location = /blog {
return 302 /blog/;
}
location /blog/ {
proxy_pass http://blog.example.com/;
}
请注意, proxy_pass
中的/
非常重要(没有它, /blog
部分将不会在上游请求中被剥离)。
有关两个独立location
声明的原理的更多详细信息,请参见https://serverfault.com/questions/562756/how-to-remove-the-path-with-an-nginx-proxy-pass/562850#562850 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.