Web アプリケーションを非ルート パス ( http://example.com/ ではなく http://example.com/wiki/ ) から提供できるようにする必要があります。アプリケーションはリバース プロキシ (nginx) の背後にあります。これには少なくとも 2 つのアプローチがあることに気付きました。
アプリにパス プレフィックスを認識させ、それを使用してすべての URL (3xx リダイレクトの Location ヘッダー、HTML ドキュメント内のリンク、Ajax 呼び出しのアドレス) を作成します。
リバース プロキシでリクエストからプレフィックスを削除し (/wiki/index.html は /index.html になります)、そのようなリクエストをアプリに渡し、すべての HTML ドキュメントと Ajax 呼び出しで相対 URL を使用します (src="./static/foo .jpg", POST "./create-user". リダイレクトで返された Location ヘッダーを書き換えるようにリバース プロキシを構成します ('proxy_redirect' nginx ディレクティブ)。
どちらのアプローチが優れているか、またその理由は?