# Map Local（ディレクトリ）

> Proxyman の Map Local Directory を使うと、一致したリクエストにローカルフォルダー内のファイルで応答できます。ファイルが見つからない場合は、サーバーからのレスポンスを返します。

## 1. 概要 {#1-whats-it}

一致したリクエストを、選択したディレクトリ内のローカルファイルにマッピングできる便利な機能です。ローカルファイルが存在しない場合、Proxyman は実際のサーバーからレスポンスを返します。

1 つのローカルファイルをマッピングしたい場合は、Map Local (File) のページをご覧ください。

- [Map Local（ファイル）](https://proxyman.com/docs/ja/advanced-features/map-local)

## 2. 使い方 {#2-how-to-use}

![Local Directory モードで https://httpbin.proxyman.app/anything/* を /Users/Shared/Demo/api にマッピングしている Proxyman Map Local エディタ](https://proxyman.com/docs/assets/proxyman-map-local-directory-editor.jpg)

_URL をローカルディレクトリにマッピングする_

### 2.1 パスとそのサブディレクトリをマッピングする {#21-map-a-path-and-its-subdirectories}

`api.proxyman.io/build/v1/*` => `/v1/` 以降のすべてのサブパスが、選択したディレクトリにマッピングされます。

たとえば、ローカルディレクトリとして `~/desktop/my_folder` を選択します。

| 実際の URL                                 | 解決されるローカルパス           |
| ------------------------------------------ | -------------------------------- |
| http://api.proxyman.io/build/v1/index.html | \~/desktop/my\_folder/index.html |
| http://api.proxyman.io/build/v1/js/main.js | \~/desktop/my\_folder/js/main.js |

#### 設定方法 {#how-to-config}

| ルール     | 設定方法                                                                                                | 例                                                                                                                  |
| ---------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Wildcard   | <ul><li>「Include all subpaths of this URL」のチェックボックスをオンにする</li><li>または URL の末尾に /* を付ける</li></ul> | <ul><li>api.proxyman.io/build/v1/（チェックボックスをオン）</li><li>api.proxyman.io/build/v1/*</li></ul>                  |
| Regex      | <ul><li>末尾に (.*) を付ける</li></ul>                                                                  | <ul><li>https:\/\/api.proxyman.io\/build\/v1\/(.*)</li><li>https:\/\/api.proxyman.io\/build\/v1\/(.*.css)</li></ul> |

> **備考:** マッピングする位置を Proxyman に伝えるため、正規表現のグループ演算子 `()` を必ず使用してください。 

### 2.2 ホスト全体をマッピングする {#22-map-entire-host}

`api.proxyman.io/*` => すべてのサブパスが、選択したディレクトリにマッピングされます。

たとえば、ローカルディレクトリとして `~/desktop/my_folder` を選択します。

| 実際の URL                                 | 解決されるローカルパス                    |
| ------------------------------------------ | ----------------------------------------- |
| http://api.proxyman.io/build/v1/index.html | \~/desktop/my\_folder/build/v1/index.html |
| http://api.proxyman.io/build/v1/js/main.js | \~/desktop/my\_folder/build/v1/js/main.js |

#### 設定方法 {#how-to-config-1}

| ルール   | 設定方法                                                        | 例                                                                                            |
| -------- | --------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |
| Wildcard | <ul><li>パスを空欄のままにする</li></ul>                        | <ul><li>api.proxyman.io</li></ul>                                                             |
| Regex    | <ul><li>末尾に (.*) を含む 1 つのパスを使用する</li></ul>       | <ul><li>https:\/\/api.proxyman.io\/(.*)</li><li>https:\/\/api.proxyman.io\/(*.html)</li></ul> |

## 3. Scripting Tool で Map Local Directory を使う ✅  {#3-map-local-directory-with-scripting-tool--}

**複雑なルール**で Map Local Directory を設定したい場合は、[Scripting](https://proxyman.com/docs/ja/scripting/script#1-whats-it) をご覧ください。同じ結果をより簡単に得られます。

JavaScript でローカルファイルをマッピングする方法は、[Snippet Code](https://proxyman.com/docs/ja/scripting/snippet-code#2-common-on-request-and-response) をご覧ください。
