প্রস্তাবিত উপায় সম্ভবত একটি ব্যবহার করা হবে map
, কারণ এই ভেরিয়েবলগুলি কেবল তখনই ব্যবহৃত হয় যখন তাদের ব্যবহার করা হয়।
পুনরায় return 301 ...
লেখাগুলির চেয়েও ব্যবহারকে প্রাধান্য দেওয়া হয়, কারণ কোনও নিয়মিত অভিব্যক্তি সংকলন করতে হয় না।
সংযোগযুক্ত স্ট্রিং হিসাবে হোস্ট এবং ব্যবহারকারী-এজেন্টের একটি উদাহরণ যেখানে একটি একক রেজেক্সের সাথে তুলনা করা হয়েছে:
map "$host:$http_user_agent" $my_domain_map_host {
default 0;
"~*^www.domain.com:Agent.*$" 1;
}
server {
if ($my_domain_map_host) {
return 302 http://www.domain2.com$request_uri;
}
}
এবং এটি আরও বেশি নমনীয় হতে পারে, উদাহরণস্বরূপ যদি সেখানে 2 না হয় তবে আরও বেশি ডোমেন জড়িত থাকে।
এখানে আমরা মানচিত্র www.domain.com
দিয়ে শুরু ব্যবহারকারী-এজেন্টদের সঙ্গে Agent
থেকে http://www.domain2.com
এবং www.domain2.com
সঠিক ব্যবহারকারী-এজেন্ট সঙ্গে Other Agent
থেকে http://www.domain3.com
:
map "$host:$http_user_agent" $my_domain_map_host {
default 0;
"~*^www.domain.com:Agent.*$" http://www.domain2.com;
"~*^www.domain2.com:Other Agent$" http://www.domain3.com;
}
server {
if ($my_domain_map_host) {
return 302 $my_domain_map_host$request_uri;
}
}
NB আপনার কাজের জন্য মানচিত্রের স্ট্রিংয়ের জন্য এনগিনেক্স ০.৯.০ বা তার বেশি প্রয়োজন higher