先日、シングルやマルチドメインSSL証明書からワイルドカードSSLに変更しました。
今まではSSL証明書を作成して設定するのが大変だったので、ディレクトリを切って対応していました。
せっかくワイルドカードSSLに変更したので、何個かサブドメインの配下へと動かしました。
目次
リダイレクト問題
サイト構成をいじると、どうしても出てくるのがリダイレクトの問題。
今回のリダイレクトパターンは2種類ありました。
- 別サブドメインにそのままリダイレクト
例)https://www.example.com/test/〜 https://new.example.com/test/〜 - 直下のディレクトリ名をサブドメインにして、直下のディレクトリを削除してリダイレクト
例)https://www.example.com/test/〜 https://test.example.com/〜
リダイレクトのやり方
今回はnginxでのリダイレクトです。
別サブドメインにそのままリダイレクト
期待値
こちらはそんなに考えなくてもできました。
location /test/ {
return 301 https://new.exapmle.com/$request_uri;
}
直下のディレクトリ名をサブドメインにして、直下のディレクトリを削除してリダイレクト
期待値
こちらは悩みました。
location /test/ {
return 301 https://test.example.com/$request_uri;
}
別のやり方を考えてみました。
location ~ ^/test/(.*)$ {
return 301 https://test.example.com/$1;
}
さらに、別のやり方を考えてみました。
location ~ ^/test/(.*)$ {
return 301 https://test.example.com/$1$args;
}
さらにさらに、別のやり方を考えてみました。
location ~ ^/test/(.*)$ {
return 301 https://test.example.com/$1${is_args}$args;
}
リダイレクトは頻繁に設定するものではないので、結構はまりがち
最初に設定したら変えないのが一番だね
同じように悩んでいる人に届くといいにゃ〜