

nginx で、assets 下へのアクセスを、s3 にリダイレクトできないか試しています。

[code]

    location ~* ^/assets {
        return 301 https:/s3-ap-northeast-1.amazonaws.com/hoge-assets$request_uri;
        break;
    }
    
[/code]

Location に、望んているパスが返ってきました。

[![レスポンス](https://i.stack.imgur.com/TE7R4.png)](https://i.stack.imgur.com/TE7R4.png)

しかし、Chrome は、「元のドメインの下に、Location の値が入ったパス」にアクセスしてしまいました。

[![画像の説明をここに入力](https://i.stack.imgur.com/UZU5s.png)](https://i.stack.imgur.com/UZU5s.png)

Chrome, Firefox 共に同じ挙動でしたので、ブラウザではなく、nginx か、html が原因ではないかと考えます。html は下記です。

[code]

    <link rel="stylesheet" media="all" href="/assets/application-d07f97160f917fd45d04dc4f95823689.css" data-turbolinks-track="true" />
    
[/code]

  1. nginx のリダイレクトは、return, rewrite の他に、適切なものがあるでしょうか？
  2. 相対URL のリクエストを 絶対URL のリダイレクトで返しても、相対URLになってしまうのでしょうか？

### 備考

なお、html のレンダリング時に 絶対URLを埋め込むべきなのは理解しておりますが、  
歴史的経緯があるため、nginx でのリダイレクトを検討しています。


CC BY-SA 3.0
2015-08-28T09:23:37.460
14952
2015-08-28T09:33:17.750
7471
question
html nginx
nginx で他のドメインへ redirect したいのに、自分のドメインのディレクトリになってしまいます


おそらく "https://" としていない (スラッシュが1個たりない) のが原因です。


CC BY-SA 3.0
2015-08-28T09:33:17.750
14954
2015-08-28T09:33:17.750
76
14952
answer