nginx 中子目录的反向代理

nginx 中子目录的反向代理

我想在我的 VPS 上为我的 Heroku 应用程序设置反向代理(http://lovemaple.heroku.com)因此,如果我访问,mysite.com/blog我可以获得内容http://lovemaple.heroku.com

我按照Apache 维基

    location /couchdb {
        rewrite /couchdb/(.*) /$1 break;
        proxy_pass http://localhost:5984;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

我改变了它以适合我的情况:

    location /blog {
        rewrite /blog/(.*) /$1 break;
        proxy_pass http://lovemaple.heroku.com;
        proxy_redirect off;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }

当我访问 时mysite.com/blog,页面出现了,但是无法获取 js/css 文件 (404)。
它们的链接变成了mysite.com/style.css,但没有mysite.com/blog/style.css

出了什么问题?我该如何修复?

答案1

您需要修复 HTML 中的引用,nginx 不负责为您完成此操作。您可以将它们设置为与它们所在的目录无关:

<link rel="stylesheet" type="text/css" href="style.css">

(代替"/style.css"

答案2

进入你的wordpress数据库,然后更新siteurlwp_options可以http://lovemaple.heroku.com了。

相关内容