Membalikkan proxy untuk subdirektori dalam nginx

12

Saya ingin mengatur proxy Reverse pada VPS saya untuk aplikasi Heroku saya ( http://lovemaple.heroku.com ) Jadi jika saya mengunjungi mysite.com/blogsaya bisa mendapatkan konten di http://lovemaple.heroku.com

Saya mengikuti instruksi di wiki 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;
    }

Saya mengubahnya agar sesuai dengan situasi saya:

    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;
    }

Ketika saya mengunjungi mysite.com/blog, halaman muncul, tetapi file js / css tidak dapat diperoleh (404).
Tautan mereka menjadi mysite.com/style.csstetapi tidak mysite.com/blog/style.css.

Apa yang salah dan bagaimana cara memperbaikinya?

Maple
sumber

Jawaban:

5

Anda perlu memperbaiki referensi dalam HTML Anda, nginx tidak bertanggung jawab untuk melakukannya untuk Anda. Anda dapat mengaturnya menjadi agnostik ke direktori tempat mereka berada:

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

(bukannya "/style.css")

Shane Madden
sumber
1

Pergi ke database wordpress Anda, dan memperbarui siteurldalam wp_optionsuntuk http://lovemaple.heroku.comOK.

jxltom
sumber