的解釋是從Handlers element表static_files
行:
static_files
可選。靜態文件模式處理程序將URL模式與 路徑關聯到應用程序上傳的靜態文件。 URL模式 正則表達式可以定義在構建文件路徑時使用的正則表達式分組 。您可以使用此代替 static_dir映射到目錄結構中的特定文件,而不映射整個目錄。
實施例:
handlers:
# All URLs ending in .gif .png or .jpg are treated as paths to
# static files in the static/ directory. The URL pattern is a
# regular expression, with a grouping that is inserted into the
# path to the file.
- url: /(.*\.(gif|png|jpg))$
static_files: static/\1
upload: static/.*\.(gif|png|jpg)$
的url
是所請求的路徑,同時static_files
和upload
是相對於你的應用/服務源目錄真正的文件路徑,與\1
和.*\.(gif|png|jpg)$
分別由URL正則表達式替換匹配分組的價值 - 無論是在外部輪迴內部。
因此,對/a_file.gif
的請求將與url
正則表達式匹配,從而產生a_file.gif
分組。它將被替換爲static_files
和upload
作爲static/a_file.gif
- 應用程序源代碼中文件的實際路徑。
與您static_dir
配置任何文件存在下assets/images
如果匹配的請求/assets/images/<the_file>
而成,那文件名是什麼regardles會送達。
使用static_files
配置,您可以只選擇要提供的特定文件名(與正則表達式模式相匹配),並且可以使它們以不同的名稱和/或與其實際相關的路徑顯示應用程序目錄。
你static_files
的配置,如果你提出要求,以正確的路徑應該被工作,像/assets/images/<some_file>.png
例如(我假定這就是存在的圖像文件)。
但是,如果你想要的,例如,服務於位於根據該assets/images
DIR文件,但只是要求爲/<some_file>.png
(即沒有該路徑前綴),你需要以不同的方式進行配置:
# Serve images as static resources.
- url: /(.+\.(gif|png|jpg))$
static_files: assets/images/\1
upload: assets/images/.+\.(gif|png|jpg)$
而且檢查您沒有重疊static_dir
和/或static_files
路徑配置 - 這可能會導致模糊的問題,請參閱Static files are missing