উত্তর:
$host
কোর মডিউলটির একটি পরিবর্তনশীল ।
$ হোস্ট
এই ভেরিয়েবলটি অনুরোধের শিরোনামে হোস্টের অনুরোধ বা সার্ভারের নাম অনুরোধটি প্রক্রিয়া করে যদি হোস্ট শিরোনাম উপলব্ধ না হয় equal
এই পরিবর্তনশীলটির ক্ষেত্রে $ http_host এর থেকে পৃথক মান থাকতে পারে: 1) যখন হোস্ট ইনপুট শিরোনামটি অনুপস্থিত থাকে বা খালি মূল্য থাকে, $ হোস্টটি সার্ভার_নামের নির্দেশকের মানের সমান হয়; 2) যখন হোস্টের মানটিতে পোর্ট নম্বর থাকে, $ হোস্টটি সেই পোর্ট নম্বরটি অন্তর্ভুক্ত করে না। $ হোস্টের মান সর্বদা 0.8.17 থেকে ছোট হাতের অক্ষরে থাকে।
$http_host
একই মডিউলটিরও একটি পরিবর্তনশীল তবে এটি আপনাকে সেই নামের সাথে পাবেন না কারণ এটি সাধারণভাবে $http_HEADER
( রেফ ) হিসাবে সংজ্ঞায়িত করা হয়েছে ।
$ http_HEADER
HTTP রিকোয়েস্ট শিরোনাম HEADER এর মান যখন ছোট হাতের সাথে রূপান্তরিত হয় এবং 'ড্যাশ' দিয়ে 'আন্ডারস্কোর' এ রূপান্তরিত হয়, যেমন $ http_user_agent, $ http_referer ...;
সারমর্ম:
$http_host
সর্বদা HTTP_HOST
অনুরোধ শিরোনাম সমান ।$host
সমান $http_host
, ছোট হাতের এবং পোর্ট নম্বর ছাড়াই (উপস্থিত থাকলে) ব্যতীত যখন HTTP_HOST
অনুপস্থিত থাকে বা খালি মান হয় । সেক্ষেত্রে, $host
মান সমান server_name
সার্ভার অনুরোধ প্রক্রিয়া এর নির্দেশ।server_name
নির্দেশিকাও থাকতে পারে। যদি আপনার প্রথমটিতে একটি রেজেেক্স হয়, তবে এটি হয়ে যায় $host
এবং পুনর্লিখনের নিয়মের সময় সমস্ত প্রকার কুৎসিত জিনিসগুলি ঘটতে পারে।
$server_name
ভেরিয়েবলটি কি server_name
একাধিক server_name
নির্দেশিকা থাকলে নির্দেশকের মান বা প্রকৃত সার্ভারের নামের সমতুল্য হয় ?
$server_name
সর্বদা সার্ভার_নামের নির্দেশের সাথে নির্দিষ্ট করা প্রথম মানের সমান। উদাহরণস্বরূপ, সঙ্গে server_name example.com one.example.com two.example.com;
, $server_name
সবসময় হতে হবে "example.com", যা হোস্ট ব্যবহারকারী নির্দিষ্ট করেছে নির্বিশেষে । আসলে, আপনার যদি এটি না থাকে default_server
তবে হোস্টটি সম্পূর্ণ আলাদা কিছু হতে পারে (যেমন ..org)।
server_name
যা বর্তমান সার্ভার ব্লকে সংজ্ঞায়িত হয়। আপনার যদি একাধিকserver_name
গুলি থাকে তবে কেবল প্রথমটি উপস্থিত হবে।