如何重写我的服务器的路径?

时间:2016-01-17 20:10:52

标签: nginx rewrite

我正在使用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;
}

}

1 个答案:

答案 0 :(得分:1)

rewrite指令可以通过四种方式使用。 permanent修饰符使用http 301响应代码执行外部重定向。通过修改浏览器中的URL地址栏,用户通常可以看到外部重定向。

您要做的是内部重定向,它无形地向用户执行转换。

但是,proxy_pass指令能够执行简单的转换,而无需使用rewrite指令。

尝试:

location / {
    proxy_pass http://192.168.0.0/folder/;
}

在向上游发送URI之前,这将默认前缀/folder/

有关详细信息,请参阅this documentthis document