ভার্চুয়ালহোস্ট নির্দেশিকায় অ্যাপাচি ২.২ ডকুমেন্টেশনে সমাধান রয়েছে :
সিনট্যাক্স: ... (...) অ্যাডারটি হতে পারে:
- ভার্চুয়াল হোস্টের আইপি ঠিকানা;
- ভার্চুয়াল হোস্টের আইপি ঠিকানার জন্য সম্পূর্ণরূপে যোগ্যতাসম্পন্ন ডোমেন নাম (প্রস্তাবিত নয়);
- অক্ষর * , যা কেবলমাত্র আইভি অ্যাড্রেসগুলির সাথে মিলে নেওয়ার ভার্চুয়ালহস্ট * এর সাথে একত্রে ব্যবহৃত হয় ; অথবা
- স্ট্রিং _ডেফল্ট_ , যা কেবলমাত্র আইপি ভার্চুয়াল হোস্টিংয়ের সাথে মেলে না IP
ভার্চুয়ালহোস্ট পরিচালনা করার দুটি উপায় বিদ্যমান, নাম ভিত্তিক ভার্চুয়ালহোস্টিং এবং আইপি ভিত্তিক ভার্চুয়ালহোস্টিং।
নামভিত্তিক ভার্চুয়ালহোস্টগুলির সাথে আপনার ভার্চুয়ালহোস্টগুলির একটি তালিকা রয়েছে, প্রত্যেকে একটি বা একাধিক ডোমেন নাম পরিচালনা করে এবং প্রত্যেকে একটি দম্পতির সাথে যুক্ত listening IP:port
। *
একটি বিশেষ মান যার অর্থ এই হোস্টের সমস্ত আইপি । ডিফল্ট ভার্চুয়ালহোস্ট প্রতিটি প্রদত্ত শ্রোতার ঠিকানার জন্য এই তালিকার প্রথম ঘোষিত একটি।
আইপি ভিত্তিক ভার্চুয়ালহোস্টের সাথে ভার্চুয়ালহোস্টের ServerName
নির্দেশনা ব্যবহার করা হয় না, গুরুত্বপূর্ণ তথ্য হ'ল শ্রবণকারী আইপি (এবং পোর্ট), এবং ডিফল্ট ভার্চুয়ালহোস্ট হ'ল প্রথম আসনটি আইপিটির সাথে আগত অনুরোধটি পরিচালনা করে ...
সুতরাং একটি নাম ভিত্তিক ভার্চুয়াল হোস্টিং কনফিগারেশন সহ:
<Virtualhost *:80> with ServerName foo.com
"" এই হোস্টে পরিচালিত সমস্ত আইপি "", "পোর্ট 80 এ" এর অর্থ, "যদি অনুরোধ হোস্ট শিরোনাম foo.com হয়" আমি এই ভার্চুয়ালহোস্টটি ব্যবহার করব
<Virtualhost *:*> with Servername foo.com
"" এই হোস্টে পরিচালিত সমস্ত আইপি "", "সমস্ত বন্দরে" "," যদি অনুরোধ হোস্ট শিরোনাম foo.com হয় "আমি এই ভার্চুয়ালহোস্টটি ব্যবহার করব
<Virtualhost 10.0.0.2:*> with Servername foo.com
এর অর্থ "আমার নেটওয়ার্ক ইন্টারফেস 10.0.0.2 থেকে অনুরোধের জন্য", "সমস্ত পোর্টে" "," যদি অনুরোধ হোস্ট শিরোনাম foo.com হয় "আমি এই ভার্চুয়ালহোস্টটি ব্যবহার করব
<Virtualhost _default_:*> with Servername foo.com
: নাম ভিত্তিক ভার্চুয়াল হোস্টিং ব্যবহার করা উচিত নয়
এবং একটি আইপি ভিত্তিক ভার্চুয়াল হোস্টিং:
<Virtualhost 10.0.0.2:*>
এর অর্থ "আমি আমার ভার্চুস্টহোস্টটি আমার 10.0.0.2 ইন্টারফেসে অনুরোধ করার জন্য ব্যবহার করব"
<Virtualhost _default_:443>
এর অর্থ "আমি 443 পোর্টে আসার অনুরোধের জন্য আমার হোস্টের সমস্ত অন্যান্য নেটওয়ার্ক ইন্টারফেসের জন্য এই ভার্চুয়াল হোস্টটি ব্যবহার করব"
<Virtualhost _default_:*>
এর অর্থ "আমি আমার হোস্টের অন্য সমস্ত নেটওয়ার্ক ইন্টারফেসের জন্য এই ভার্চুয়াল হোস্টটি ব্যবহার করব, যদি এটি পূর্ববর্তী কোনও নিয়মের সাথে মিলে না যায়, এবং যদি অনুরোধ হোস্ট শিরোনামটি কোনও নামভিত্তিক ভার্চুয়ালহোস্টের সাথে মিলে না যায়"
সুতরাং এটি একটি ক্যাচ-অল ভার্চুয়ালহোস্ট সংজ্ঞায়িত করার মতো। ডকুমেন্টেশন যোগ করেছে:
আইপি-ভিত্তিক ভার্চুয়াল হোস্টিং ব্যবহার করার সময়, বিশেষ নামটি _default_
নির্দিষ্ট করা যেতে পারে যে ক্ষেত্রে এই ভার্চুয়াল হোস্টটি কোনও আইপি ঠিকানার সাথে মিলবে যা স্পষ্টভাবে অন্য ভার্চুয়াল হোস্টে তালিকাভুক্ত নয়। কোনও _default_
ভার্চুয়াল হোস্টের অভাবে কোনও ভার্চুয়ালহস্ট বিভাগের বাইরে এই সমস্ত সংজ্ঞা সমন্বিত "প্রধান" সার্ভার কনফিগারেশন ব্যবহার করা হয়, যখন কোনও আইপি-ম্যাচ না ঘটে। (তবে মনে রাখবেন যে কোনও নেমওয়ার্চুয়ালহোস্ট নির্দেশের সাথে মেলে এমন কোনও আইপি ঠিকানা "প্রধান" সার্ভার কনফিগারেশন বা _default_
ভার্চুয়াল হোস্টকে ব্যবহার করবে না further আরও বিশদগুলির জন্য নাম ভিত্তিক ভার্চুয়াল হোস্টিং ডকুমেন্টেশন দেখুন))
সুতরাং এই সমস্ত বিষয়গুলির পরে এটি বেশ "স্পষ্ট" হয়ে ওঠে যে আইপি-ভিত্তিক এবং নাম ভিত্তিক ভার্চুয়াল হোস্টিং মিশ্রণ একটি গোলযোগে পরিণত হতে পারে। অ্যাপাচি ২.২ সহ নাম ভিত্তিক ভার্চুয়ালহোস্টিং কেবল তখনই NameVirtualhost <something>
ব্যবহৃত হত।
তবে নতুন অ্যাপাচি ২.৪ সংস্করণ সহ এগুলি বোঝা সত্যিই সহজ, কোনও NameVirtualhost
ঘোষণা নেই। সতর্কতা নির্বাহ করা ছাড়াও নেম ভার্চুয়ালহোস্ট নির্দেশনার কোনও প্রভাব নেই। একাধিক ভার্চুয়াল হোস্টগুলিতে প্রদর্শিত যে কোনও ঠিকানা / পোর্ট সংমিশ্রণটি স্পষ্টতই নাম-ভিত্তিক ভার্চুয়াল হোস্ট হিসাবে বিবেচিত হবে । আরও জটিল চিন্তাভাবনা নেই, এমনকি ডকুমেন্টেশন এখন আরও সহজ:
- অক্ষর *, যা ওয়াইল্ডকার্ড হিসাবে কাজ করে এবং কোনও আইপি ঠিকানার সাথে মেলে।
- স্ট্রিং
_default_
যা *
সুতরাং অ্যাপাচি ২.৪ সহ উত্তরটি হ'ল এটি একই জিনিস ।