2

シングル ページ アプリケーションと WSGI プロセスの両方を提供するように Apache Web サーバーを構成したいと考えています。/apiこの構成を使用して、WSGI アプリを正常に提供できます。

WSGIDaemonProcess myapp threads=5 user=apache
WSGIScriptAlias /api /var/www/html/myapp/setup/myapp.wsgi

そのため、ユーザーが/api/things私の WSGI アプリ (フラスコ) から JSON データをヒットすると、送信されます。

そして、これを含めると、私のホームindex.htmlファイル(ユーザーがヒットしたときに提供される/)が機能します:

DocumentRoot /var/www/html/myapp/myappweb/public

ただし、ユーザーが で始まらないルートにアクセスする/apiと、Apache Web サーバーがindex.html. たとえば、ユーザーがヒットした場合、/thingsまたは404 をスローする代わりに/things/42Apache に送信してもらいたい場合 (クライアント側のパスを処理するために redux-router を使用しています)。index.html

このフラグを付けた node live-server パッケージを使用して、開発環境でこれを機能させました。

live-server --entry-file=index.html

さらに、 でAliasMatch始まるすべてのルートを強制的に/things表示するために使用できindex.htmlます。

AliasMatch "^/things(/.*)?$" /var/www/html/myapp/myappweb/public/index.html

しかし、私が本当に欲しいのは、AliasMatchで始まるものを除くすべてのルートを強制的/api/に表示する正規表現ですindex.html

4

1 に答える 1

2

とった!

RewriteRule ^((?!\/[api|lib]).)*$ /var/www/html/myapp/myappweb/public/index.html

apidir とlibdir (js/css ファイルがホストされている場所)の両方を除外する必要がありました。

于 2015-12-23T22:58:03.513 に答える