nginx代理传递与PHP和相对路径

时间:2012-06-06 22:04:09

标签: php proxy nginx

我的问题似乎很简单......

我的lan 192.168.0.2上有一台服务器,其根路径为/ var / www /(apache2) 和1域example.com(nginx) 和1个子域名bug.example.com(nginx)

并且只想要一个代理beetween http://192.168.0.2/bugs/ --->> http://bug.example.com/

我在根目录中使用bugtracker(Mantis),如/ var / www / bugs

此配置工作:

server {

    listen 80;
    server_name bug.example.com;

    location / {
            proxy_pass   http://192.168.0.2/bugs/;
   }
 }

但我无法访问css或图片......

Css:

<link rel="stylesheet" type="text/css" href="http://192.168.0.2/bugs/css/default.css" />

图片:

<link rel="shortcut icon" href="/bugs/images/favicon.ico" type="image/x-icon" />

我使用“proxy_set_header”,“proxy_redirect”,“重写”测试了很多配置......但从未成功:(

有人能帮助我吗?

1 个答案:

答案 0 :(得分:0)

这是一个PHP问题。该网站不知道重定向...正如我所见,它呈现完整路径192.168.0.2/bugs的CSS文件... 尝试找到一个解决方案,如何在PHP中处理它,而不是nginx。

在Mantis中查找HOST_NAME或类似设置的配置设置。

至于图片,更改为bugs.site.com/bugs应该修复它们。否则你需要让Mantis知道它没有虚拟路径/错误。它背后是Apache服务器吗?

更新:实际上您可以尝试剥离HOST标头并将其修改为'bugs.site.com'...这一切都取决于实际的Web服务器/ Mantis /配置..