Google 画像検索には、その画像をホストしている Web サイトを表示せずに元の画像を指す機能があります。そのため、これらのリクエストをサイト内のカスタム ページにリダイレクトしたいと考えています。
基本的には以下のようなURLを書き換えたい(Googleから引用):
www.website.com/folder1/folder2/year/month/day/ID/string.jpg
それらを次の場所にリダイレクトします。
www.website.com/ID/page.html
「ID」は数字です。
私は次のコードを試しました:
set $button_redirect 0;
if ($http_referer ~ "\.google\.") { set $button_redirect 1; }
if ($http_referer ~ "\.google\.[^/]+/blank\.html") { set $button_redirect 0; }
if ($http_user_agent ~ "Googlebot|bingbot|Slurp|Baiduspider|Yandex|Sogou") { set $button_redirect 0; }
if ($button_redirect = 1) {
rewrite ^(.*)/folder1/folder2/([0-9]{4})/([0-9]{2})/([0-9]{2})/([0-9]+)/(.*)\.(jpg|jpeg|png)$ /index.php?/$5/page.html last;
}
しかし、Nginx Web サーバーを再起動すると、ページが 1 つも読み込まれず、間違いを犯したと思います。手伝って頂けますか?Nginx を実行しており、Codeigniter フレームワークを使用しています。
ここからコードのほとんどを取得しました: http://pixabay.com/en/blog/posts/hotlinking-protection-and-watermarking-for-google-32/ .