我正在使用nginx将子域添加到我的主域。问题是我的其他服务器索引的代理是myip / folder / index.php 我在我的添加主机文件中制作了重写规则,当我尝试访问subdomain.mydomain.com时,它会重定向到myip / folder / index.php,但索引的完整路径是可见的。如何在添加主机文件中隐藏路径? 我的添加主机文件如下所示:
server {
listen 80;
server_name subdomain.mydomain.com;
location / {
proxy_pass http://192.168.0.0/;
rewrite ^/$ http://subdomain.mydomain.com/folder/index.php# permanent;
}
}
答案 0 :(得分:1)
rewrite
指令可以通过四种方式使用。 permanent
修饰符使用http 301响应代码执行外部重定向。通过修改浏览器中的URL地址栏,用户通常可以看到外部重定向。
您要做的是内部重定向,它无形地向用户执行转换。
但是,proxy_pass
指令能够执行简单的转换,而无需使用rewrite
指令。
尝试:
location / {
proxy_pass http://192.168.0.0/folder/;
}
在向上游发送URI之前,这将默认前缀/folder/
。
有关详细信息,请参阅this document和this document。