Php $服务器[“请求URI”]与nginx代理服务器-->;获取重写的页面URL
我使用nginx作为反向代理服务器(前端服务器)+apache作为后端服务器 我注意到我无法在nginx中使用$SERVER[“HTTPHOST”]。$SERVER[“REQUESTURI”]以php(如www.example.com/something/page/)获得重写的url输出,但它在apache中工作 注意:nginx重写在url中工作正常,但问题是php代码中的输出 我得到了一些未重写的URL,比如www.example.com/index.php?a=something&b=page和$SERVER[“HTTPHOST”]。$SERVER[“REQUESTURI”] 如果我做错了什么,有人能帮忙吗 这是我的nginx的代理部分Php $服务器[“请求URI”]与nginx代理服务器-->;获取重写的页面URL,php,nginx,apache2,Php,Nginx,Apache2,我使用nginx作为反向代理服务器(前端服务器)+apache作为后端服务器 我注意到我无法在nginx中使用$SERVER[“HTTPHOST”]。$SERVER[“REQUESTURI”]以php(如www.example.com/something/page/)获得重写的url输出,但它在apache中工作 注意:nginx重写在url中工作正常,但问题是php代码中的输出 我得到了一些未重写的URL,比如www.example.com/index.php?a=something&b=pa
location ~ \.php$ {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
您没有传递原始请求,所以PHP怎么知道?通常它作为
proxy\u set\u头X-Original-Request$Request\u uri传递非常感谢你。这是另一件事。使用nginx服务器作为apache2的reserver代理,哪里是进行mod_重写的最佳位置?在nginx或apache中?这取决于许多因素。一个简单的规则是,如果重写规则已经用其中一个编写好了,就把它们保留在那里。我最初有apache服务器服务站点,现在我添加了nginx,它将反向代理,所以我在寻找你认为最好的组合。事实上,所有页面都是简单的mod重写,所以根本没有静态页面