2017-11-07 35 views
1

したがって、クライアントはURLでプロモーションを実行しています。ここで、各URLは別のウェブページでなければなりません。すべてのWebページはすでに存在しているので、毎日このURLに一時的なリダイレクトを行う必要があります。毎日これを手動で行う必要を避けるために、nginxでこの種の日付リダイレクトが可能かどうか疑問に思っています。nginxで日付に基づいてリダイレクトする方法は?

はここでルートが今のようになります:それは一例に過ぎないので、私はnginxの構文にあまり慣れていないんだ

location /10-day-promo { 
    proxy_set_header X-Forwarded-Proto $scheme; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_read_timeout 300; 

    if right_now >= start_date and right_now <= end_date then 
     return proxy_pass  http://50.160.80.120:8000; 
    end 
} 

location /10-day-promo { 
    proxy_set_header X-Forwarded-Proto $scheme; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     proxy_read_timeout 300; 
    proxy_pass  http://50.160.80.120:8000; 
} 

私のようなものを必要としています。このタイプのことは可能ですか?

+0

どのような日付パターンでプロモーションを実行しますか? –

+0

@タルンルルワニーどのようにそれを意味するのですか?それは暦日全体の条件付きチェーンでなければなりません。時間や分はありません。 –

答えて

0

nginxにはdatetime変数と正規表現エンジンがありますので、日時境界が厄介な場所にある場合は間違いありません。 mapに正規表現を配置することを検討し、代替として

if ($time_iso8601 ~ ^2017-11-(0[5-9]|1[0-4])) { ... } 

例えば、11月14日UTCの包括的に11月5日には、として表すことができます。詳細については、this documentを参照してください。また、使用可能な言語拡張もあります。 PerlまたはLua。

+0

括弧は文字クラスで、範囲の指定に使用されます。 [ここでのクイックリファレンス](http://www.regular-expressions.info/refquick.html)があります。あなたのソリューションに近づけるには、PerlやLuaを調べる必要があります(私はあなたには役に立たない)。 –

関連する問題