与えられたディレクトリのサブディレクトリから静的ファイルを提供するためにnginxを使用する
2023-07-05 05:16:48
質問
私は、いくつかの静的な
.html
ファイルがあり、nginx を使ってそれらを直接提供したいと思っています。例えば、nginx は以下のパターンの URI を提供する必要があります。
www.mysite.com/public/doc/foo/bar.html
を
.html
にあるファイル
/home/www-data/mysite/public/doc/foo/bar.html
. と考えることができます。
foo
をセット名、そして
bar
をファイル名として使用します。
nginxの設定の以下の部分でうまくいくかな。
server {
listen 8080;
server_name www.mysite.com mysite.com;
error_log /home/www-data/logs/nginx_www.error.log;
error_page 404 /404.html;
location /public/doc/ {
autoindex on;
alias /home/www-data/mysite/public/doc/;
}
location = /404.html {
alias /home/www-data/mysite/static/html/404.html;
}
}
言い換えれば、すべてのパターン
/public/doc/.../....html
は nginx によって処理され、与えられた URI が見つからない場合は、デフォルトの
www.mysite.com/404.html
が返されます。
どのように解決するのですか?
うまくいくはずなのですが http://nginx.org/en/docs/http/ngx_http_core_module.html#alias は言う。
location がディレクティブの値の最後の部分と一致するとき。 にマッチする場合は、代わりにルートディレクティブを使った方が良いでしょう。
で、これは
server {
listen 8080;
server_name www.mysite.com mysite.com;
error_log /home/www-data/logs/nginx_www.error.log;
error_page 404 /404.html;
location /public/doc/ {
autoindex on;
root /home/www-data/mysite;
}
location = /404.html {
root /home/www-data/mysite/static/html;
}
}
関連
-
[解決済み] NGINXを設定して、サブルートで場所(同じサーバー名の下)に応じて異なるシングルページアプリケーション(SPA...すなわち静的ファイル)をデプロイする方法
-
Nginxのエラー処理方法:0.0.0.0:80へのbind()に失敗する
-
[解決済み] Flaskで静的ファイルを提供する方法
-
[解決済み] Nginx -- rootとaliasによる静的ファイル提供の混乱
-
[解決済み] nginxが任意のドメイン名で応答するのはなぜですか?
-
[解決済み] nginx server_name ワイルドカードまたはキャッチオール
-
[解決済み] Nginxで単一のURLをリダイレクトするには?
-
[解決済み] 100kヒット/分達成のためのnginx worker_processのチューニング
-
[解決済み] Nginxが静的ファイルをサーブすると403forbiddenが表示される。
-
[解決済み] Nginxのサブドメイン設定
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Gitはいくつかのバグフィックスを行いました。マージされていないファイルがあるため、Pullができない。
-
Nginx] エラー413 Request Entity Too Largeの解決方法
-
Nginx+tomcatでhttps化した後に400 Bad Requestが発生する問題
-
Nginx設定ファイル(nginx.conf)の設定詳細
-
[解決済み] nginxです。[emerg] "server" ディレクティブはここでは許可されません。
-
[解決済み] nginx が返すサーバーヘッダを変更するには?
-
[解決済み] 100kヒット/分達成のためのnginx worker_processのチューニング
-
[解決済み] アップストリーム/ダウンストリームの用語が逆に使われている?(例: nginx)
-
[解決済み] nginx - アップストリームサーバからカスタムヘッダを読み込む
-
[解決済み] Nginxが静的ファイルをサーブすると403forbiddenが表示される。