文件
一個 專案

handle_path

運作方式與 handle 指令 相同,但隱含地使用 uri strip_prefix 來移除比對到的路徑前綴。

處理符合特定路徑的請求(同時從請求 URI 中移除該路徑)是很常見的用例,因此它有自己的指令以方便使用。

語法

handle_path <path_matcher> {
	<directives...>
}
  • <directives...> 是一個 HTTP 處理常式指令或指令區塊的列表,每行一個,就像在 handle_path 區塊外部使用一樣。

僅接受單一路徑比對器,且為必要;您不能將具名比對器與 handle_path 一起使用。

範例

此配置

handle_path /prefix/* {
	...
}

👆 實際上與此 👇 相同,但 handle_path 形式 👆 稍微更簡潔

handle /prefix/* {
	uri strip_prefix /prefix
	...
}

一個完整的 Caddyfile 範例,其中 handle_pathhandle 是互斥的;但是,請注意子資料夾問題

example.com {
	# Serve your API, stripping the /api prefix
	handle_path /api/* {
		reverse_proxy localhost:9000
	}

	# Serve your static site
	handle {
		root * /srv
		file_server
	}
}