এনজিএনএক্সের মানচিত্রের নির্দেশিকায় কীভাবে কয়েকটি ভেরিয়েবল নির্দিষ্ট করা যায়


10

ঠিক আছে এর চেয়ে আমার কিছুটা আলাদা প্রশ্ন আছে : আমি একই সাথে দুটি ভেরিয়েবল মানচিত্র করতে চাই না, আমি প্যারামিটার হিসাবে অন্য দুটি ব্যবহার করে একটি পরিবর্তনশীল মানচিত্র করতে চাই।

প্রকৃতপক্ষে আমি মানচিত্রের নির্দেশনা সম্পর্কে ডকুমেন্টেশনে পড়েছি যে:

সংস্করণ 0.9.0 এর আগে প্রথম প্যারামিটারে কেবল একটি একক ভেরিয়েবল নির্দিষ্ট করা যেতে পারে।

সুতরাং, আমার যেমন এনগিনেক্স ১.৮ রয়েছে, আমি প্রথম প্যারামিটারে একক ভেরিয়েবলের চেয়ে বেশি ব্যবহার করতে সক্ষম হবে বলে আশা করি।

এটি আমাকে এই ভেবে উদ্বুদ্ধ করেছিল যে আমি এই উদাহরণে দুটি শেষ মানচিত্রের নির্দেশের মতো কিছু লিখতে পারি:

map $http_user_agent $bot {
    default         "";
    "~*Googlebot"   "yes";
    "~*MJ12bot"     "yes";
    "~*bingbot"     "yes";
    etc.
}

map $request        $bot    $np {
    default         ""      "";
    default         "yes"   "";
    "~*newproject"  ""      "yes";
    "~*newproject"  "yes"   "";
}

map $bot    $np     $regular {
    ""      ""      "yes";
    ""      "yes"   "";
    "yes"   ""      "";
}

কিন্তু এটি কাজ করে না ( nginx -ta

"মানচিত্র" নির্দেশিকায় অবৈধ আর্গুমেন্ট

)

সুতরাং, প্রথম প্যারামিটারে বেশ কয়েকটি ভেরিয়েবল নির্দিষ্ট করা কীভাবে সম্ভব? বা, ডকুমেন্টেশন বলতে আসলে কী বোঝায়, যদি আমি এটি ভুল বুঝি?


আমি প্রশ্নের উত্তর যুক্ত করেছি, তবে বাস্তবে এই প্রশ্নটি একটি এক্সওয়াই-সমস্যা মেটা.স্ট্যাকেক্সেঞ্জের
আলেক্সি টেন

সম্ভবত এটি একধরণের (এবং আমি তাদের সম্পর্কে জানতাম না)। তবে আমি সত্যিই ভাবছিলাম যে এটি আসলে সম্ভব নয় এবং ডকুমেন্টেশনে বুঝতে আমি এরকম কিছু মিস করছি। এটা এখন পরিষ্কার।
zizollo

উত্তর:


20

আপনি এনজিন্সের ডক্সকে ভুল বুঝেছেন। এর অর্থ হ'ল সংস্করণ 0.9 এর আগে প্রথম যুক্তিটি mapঅবশ্যই একক চলক এবং অন্য কিছু নয়। সংস্করণ 0.9.0 যেহেতু প্রথম আর্গুমেন্ট কোনও সংখ্যক ভেরিয়েবলের সাথে ইন্টারপোল্টের স্ট্রিং হতে পারে।

আপনার প্রথম ব্লকটি দেখতে কেমন হতে পারে তা এখানে:

map "$bot:$request"      $np {
    default              "";
    "~^yes:"             "";
    "~*^:.*newproject"   "yes";
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.