URLの最後に「?lang=en」ってやったら英語になるサイト、かっこいい
そう思ってnginxでGETパラメータによって表示するコンテンツを変える方法を調べました。
$arg_hogeという変数の中身は、GETパラメータとして「?hoge=yo」が与えられたとき、「yo」という文字列になるらしいです。
なので、nginxの.confファイルのlocationディレクティブのなかで次のような感じで変えられる。
location / {
if ($arg_lang) {
root /usr/share/nginx/html/$arg_lang;
}
root /usr/share/nginx/html;
}
まぁこれやると、「?lang=hogehoge」のときにhogehogeが存在しなかったら404になるんですけどね。
なので次のようにした方がいいかもしれない?
location / {
if ($arg_lang = "en") {
root /usr/share/nginx/html/en;
}
root /usr/share/nginx/html;
}
関係ないんですけど、はてなブログでソースコード書くとき毎回「引用」を使ってるんですけどこれやめたほうがいいんですかね。
もっといい方法が知りたいマンです。
以下参考ページ
nginxのproxy_cache_keyとかでGETパラメータを上手いことやるやつ - misodengakuのブログ
HttpCoreModule - Nginx Community