2016-11-19 11 views
1

nginxの新機能で、その方法を見つけようとしています。Nginxは参照URLの正規表現に基づいてリダイレクトします

私は参照URLに基​​づいて外部URLにリダイレクトしようとしています。例えば、参照URLがFacebookのから来ている場合、私は、ホストドメインのために持っている以下のコードでは、私は特定のURLにユーザーをリダイレクトする:それは一度

location/{ 
index index.php; 
    if ($http_referer ~* ^(.*?(\bfacebook\b)[^$]*)$) { 
      rewrite http://www.othersite.com break; 
    } 
try_files $uri $uri/ @handler; 
expires 30d; 
} 

nginxのは、すべてのエラーをスローしません。これをFacebookのリンクからテストしているにもかかわらず、実行されていません。

正しい方向に私を指すことができる任意のnginx /正規表現の達人?

ありがとうございます。

答えて

1

構文テストに合格する可能性がありますが、rewriteステートメントが正しくありません。新しいURLに任意のURIをリダイレクトするには、使用します。

rewrite^http://www.example.com/? permanent; 

しかし、好ましい解決策は、より効率的に次のようになります。

return 301 http://www.example.com/; 

は、両方のディレクティブの詳細についてはthis pageを参照してください。

+0

それが解決しました!ありがとうございました! – LeoXela

関連する問題