Skip to content

Instantly share code, notes, and snippets.

@kenjiskywalker
Last active April 13, 2024 03:00

Revisions

  1. kenjiskywalker revised this gist Jan 22, 2013. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions nginx_try_files_memo.md
    Original file line number Diff line number Diff line change
    @@ -43,13 +43,13 @@ try_files $uri $uri/ /hoge.html;
    でexample.com/hoge でアクセスして
    `$uri = "hoge"`
    `$uri = "hoge"`
    ./hoge というファイルが存在しなければ
    `$url/ = "hoge/"`
    `$url/ = "hoge/"`
    ./hoge/ というディレクトリを探しに行く
    `/hoge.html`
    `/hoge.html`
    ./hoge.html というファイルもなければ
    ステータスコードは ***500*** になる(もうちょっと検証が必要かも)。
    @@ -58,7 +58,7 @@ try_files $uri $uri/ /hoge.html /hogehoge.html;
    ```
    この場合、上の3つを探して見つからない場合は
    `/hogehoge.html`
    `/hogehoge.html`
    ./hogehoge.html を探しにいく。
    条件はいくらでも増やせる
  2. kenjiskywalker revised this gist Jan 22, 2013. 1 changed file with 0 additions and 4 deletions.
    4 changes: 0 additions & 4 deletions nginx_try_files_memo.md
    Original file line number Diff line number Diff line change
    @@ -44,15 +44,12 @@ try_files $uri $uri/ /hoge.html;
    でexample.com/hoge でアクセスして
    `$uri = "hoge"`
    ./hoge というファイルが存在しなければ
    `$url/ = "hoge/"`
    ./hoge/ というディレクトリを探しに行く
    `/hoge.html`
    ./hoge.html というファイルもなければ
    ステータスコードは ***500*** になる(もうちょっと検証が必要かも)。
    @@ -62,7 +59,6 @@ try_files $uri $uri/ /hoge.html /hogehoge.html;
    この場合、上の3つを探して見つからない場合は
    `/hogehoge.html`
    ./hogehoge.html を探しにいく。
    条件はいくらでも増やせる
  3. kenjiskywalker revised this gist Jan 22, 2013. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion nginx_try_files_memo.md
    Original file line number Diff line number Diff line change
    @@ -54,7 +54,7 @@ try_files $uri $uri/ /hoge.html;
    `/hoge.html`
    ./hoge.html というファイルもなければ
    status code は ***500*** になる(もうちょっと検証が必要かも)。
    ステータスコードは ***500*** になる(もうちょっと検証が必要かも)。
    ```
    try_files $uri $uri/ /hoge.html /hogehoge.html;
  4. kenjiskywalker revised this gist Jan 22, 2013. 1 changed file with 3 additions and 3 deletions.
    6 changes: 3 additions & 3 deletions nginx_try_files_memo.md
    Original file line number Diff line number Diff line change
    @@ -78,12 +78,12 @@ try_files $uri $uri/ /hoge.html =404;
    ```
    最後の条件にステータスコードを渡せば
    条件にひっかからなければテータスコードが返る。
    条件にひっかからなければテータスコードが返る。
    上記の場合は ***404*** が返る。
    ```
    try_files $uri $uri/ /hoge.html =404;
    ```
    *./hoge.html* というファイルが存在した場合は
    後ろのステータスコードは無視されステータスコードは***200***が返る。
    後ろのステータスコードは無視されステータスコードは ***200*** が返る。
  5. kenjiskywalker revised this gist Jan 22, 2013. 1 changed file with 5 additions and 7 deletions.
    12 changes: 5 additions & 7 deletions nginx_try_files_memo.md
    Original file line number Diff line number Diff line change
    @@ -1,4 +1,3 @@

    ## nginx config

    `nginx.conf`
    @@ -54,7 +53,7 @@ try_files $uri $uri/ /hoge.html;
    `/hoge.html`
    ./hoge.html というファイルもなければ
    ./hoge.html というファイルもなければ
    status code は ***500*** になる(もうちょっと検証が必要かも)。
    ```
    @@ -64,28 +63,27 @@ try_files $uri $uri/ /hoge.html /hogehoge.html;
    `/hogehoge.html`
    ./hogehoge.html を探しにいく。
    ./hogehoge.html を探しにいく。
    条件はいくらでも増やせる
    ### 条件の複数指定
    ```
    try_files $uri $uri/ /ho.html /hog.html /hoge.html /hogee.html;
    ```
    これもいけた。
    ### 条件にステータスコードを渡す
    ```
    try_files $uri $uri/ /hoge.html =404;
    ```
    最後の条件にステータスコードを渡せば
    最後の条件にステータスコードを渡せば
    条件にひっかからなければテータスコードが返る。
    ```
    try_files $uri $uri/ /hoge.html =404;
    ```
    *./hoge.html* というファイルが存在した場合は
    後ろのステータスコードは無視されステータスコードは*200*が返る。
    *./hoge.html* というファイルが存在した場合は
    後ろのステータスコードは無視されステータスコードは***200***が返る。
  6. kenjiskywalker revised this gist Jan 22, 2013. 1 changed file with 61 additions and 1 deletion.
    62 changes: 61 additions & 1 deletion nginx_try_files_memo.md
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,4 @@

    ## nginx config

    `nginx.conf`
    @@ -11,6 +12,7 @@ server {
    error_log /var/log/nginx/error_log error;
    try_files $uri $uri/ /hoge.html;
    }
    ```

    @@ -28,4 +30,62 @@ $
    ```bash
    $ tail access_log
    "GET /hogehogehogeeee HTTP/1.1" 200 10 "-" "curl ~
    ```
    ```
    ## 例えば
    [http://wiki.nginx.org/HttpCoreModule#try_files](http://wiki.nginx.org/HttpCoreModule#try_files)
    オフィシャルを参考に
    ```
    try_files $uri $uri/ /hoge.html;
    ```
    でexample.com/hoge でアクセスして
    `$uri = "hoge"`
    ./hoge というファイルが存在しなければ
    `$url/ = "hoge/"`
    ./hoge/ というディレクトリを探しに行く
    `/hoge.html`
    ./hoge.html というファイルもなければ
    status code は ***500*** になる(もうちょっと検証が必要かも)。
    ```
    try_files $uri $uri/ /hoge.html /hogehoge.html;
    ```
    この場合、上の3つを探して見つからない場合は
    `/hogehoge.html`
    ./hogehoge.html を探しにいく。
    条件はいくらでも増やせる
    ### 条件の複数指定
    ```
    try_files $uri $uri/ /ho.html /hog.html /hoge.html /hogee.html;
    ```
    これもいけた。
    ### 条件にステータスコードを渡す
    ```
    try_files $uri $uri/ /hoge.html =404;
    ```
    最後の条件にステータスコードを渡せば
    条件にひっかからなければテータスコードが返る。
    ```
    try_files $uri $uri/ /hoge.html =404;
    ```
    *./hoge.html* というファイルが存在した場合は
    後ろのステータスコードは無視されステータスコードは*200*が返る。
  7. kenjiskywalker created this gist Jan 22, 2013.
    31 changes: 31 additions & 0 deletions nginx_try_files_memo.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,31 @@
    ## nginx config

    `nginx.conf`
    ```
    server {
    listen 80;
    server_name example.com;
    root /var/www/html/;
    index index.html;
    access_log /var/log/nginx/access_log hogehoge;
    error_log /var/log/nginx/error_log error;
    try_files $uri $uri/ /hoge.html;
    }
    ```

    ## command line
    ```
    $ cat hoge.html
    hoge dayo
    $
    $ curl http://example.com/hogehogehogeeee
    hoge dayo
    $
    ```

    ## access log
    ```bash
    $ tail access_log
    "GET /hogehogehogeeee HTTP/1.1" 200 10 "-" "curl ~
    ```