ドキュメントルートにないstatic
フォルダがあります。ドキュメントルートには存在しないが、静的フォルダには存在するすべてのファイルをリダイレクトしたいと思います。 (したがって、同じファイルが2つの場所にある場合、静的にないファイルが最初に提供されます。)これを行うにはどうすればよいですか?以下は機能しません。
DocumentRoot /srv/app/client/build/
Alias / /srv/app/client/static
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/
RewriteRule ^(.*)$ /$1
<Location />
Order allow,deny
Allow from all
</Location>
私が正しく理解している場合、あなたはNginxのtry_files
機能をエミュレートしようとしています。その場合、おそらく this が機能するように見えます。
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f RewriteRule ^/(.*)$ balancer://app_cluster%{REQUEST_URI} [P,QSA,L]
Apacheのドキュメントから: mod_rewriteを使用したリダイレクトと再マッピング セクション「複数のディレクトリでページを検索する」、次のようになります。
# first try to find it in root/...
# ...and if found stop and be happy:
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} -f
RewriteRule ^(.+) %{DOCUMENT_ROOT}/$1 [L]
# second try to find it in static/...
# ...and if found stop and be happy:
RewriteCond %{DOCUMENT_ROOT}/static/%{REQUEST_URI} -f
RewriteRule ^(.+) %{DOCUMENT_ROOT}/static/$1 [L]