我希望http://name.domain.com/指向http://www.domain.com/name
只需注意,不即可重定向到该位置,但只需指向该位置即可。
因此,当我导航到http://name.domain.com时,网站会显示来自http://www.domain.com/name的内容
到目前为止我尝试了什么:
server{
listen 80;
server_name name.domain.com;
rewrite ^/name(.*) http://name.domain.com/$1 permanent;
}
结果是nginx返回 404 not found 错误。
修改
我希望将http://www.domain.com/name的内容映射到http://name.domain.com
因此,当我导航到http://name.domain.com时,我实际上会从http://www.domain.com/name
答案 0 :(得分:1)
实际上你需要proxy_pass
。
server{
listen 80;
server_name blog.domain.com;
location = / {
proxy_pass http://127.0.0.1/blog;
proxy_set_header Host www.domain.com;
}
location / {
proxy_pass http://127.0.0.1/blog/;
proxy_set_header Host www.domain.com;
}
}
此处向blog.domain.com
的请求转到www.domain.com/blog
(没有尾随斜杠)并向blog.domain.com/a-title
请求www.domain.com/blog/a-title
。
答案 1 :(得分:0)
这应该有效:
server {
listen 80;
server_name name.domain.com;
rewrite ^(.*) http://www.domain.com/name$1 permanent;
}
答案 2 :(得分:0)
你试过这个吗?
location / {
proxy_pass $scheme://domain.com/name;
proxy_redirect $scheme://domain.com/name/ /;
}
它适用于我,除了我无法弄清楚如何只允许通过代理访问目录,并拒绝直接访问如domain.com/name