Linux
如何使用萬用字元在 Nginx 中配置多個嵌套子目錄?
👋
抱歉,如果之前有人問過這個問題。我已經搜尋過,但找不到任何接近我想要完成的東西,我將不勝感激任何可以讓我更接近解決這個問題的跡象。😊
我有以下伺服器設置:
- domain.com - 提供傳遞給
php-fpm
.- domain.com/{directory}/{subdirectory} - 為我放置在**{directory}中的所有****{subdirectories}*提供靜態 HTML 文件。請參閱下面的位置塊(使用 PHP 代理傳遞放置在 / 位置上方)*:
location ^~ /my_dir { alias /var/www/domain.com/my_dir; index index.html index.htm; }
到目前為止非常基本。
問題:
但是,{my_dir}中的目錄之一是使用前端路由的 Vue 應用程序。由於沒有可用的domain.com/{my_dir}/{vue_app_dir}/{vue_path} ,在刷新瀏覽器並且 Nginx 返回 404 之前一切正常。為了解決這個問題,我必須將任何伺服器請求從**{vue_path}重定向到{vue_app_dir}/index.html**。
我已經嘗試了多種伺服器塊組合,高於我之前發布的一個,但沒有成功。😫
再次,如果之前回答過,我很抱歉。
假設
my_dir
在location
指令中與alias
指令名稱相同,則可以使用root
代替。有關詳細資訊,請參閱此文件。
location
您可以為 Vue 應用添加另一個,並包含一條try_files
語句以避免 404 響應。有關詳細資訊,請參閱此文件。例如:
location ^~ /my_dir { root /var/www/domain.com; index index.html index.htm; } location ^~ /my_dir/vue_app { root /var/www/domain.com; index index.html index.htm; try_files $uri $uri/ /my_dir/vue_app/index.html; }