آموزش جامع میزبانی دامنه های مختلف روی وردپرس شبکه
در وردپرس ما بحثی با عنوان Domain Mapping داریم که میتوان با این قابلیت دامنههای مختلفی را روی هر سایت تنظیم کرد، که در ظاهر هر سایت با دامنهٔ Map شده مثل یک سایت مستقل دیده میشود. یعنی هر سایت روی وردپرس شبکه دامنههای خاص خود را، جدای از دامنهی اصلی شبکه دارند. اگر شما هم به دنبال راهاندازی چنین شبکهای از سایتهای مختلف توسط وردپرس هستید، حتماً آموزشهای زیادی را در وب دنبال کردید و احتمالاً به یک آموزش کامل دست نیافتید! چون امکان دارد خیلی از آنها به روز نبودهاند. به همین دلیل برای رفع این ابهام برای همیشه این مقاله را خدمت شما دوستان آماده کردیم.
موضوع این آموزش طریقهٔ پیاده سازی وردپرس شبکه به صورتی است که هر سایت بتواند دامنه سطح اول (domain.ext) خاص خودش را داشته باشد. این کار را روی آخرین نسخه وردپرس انجام خواهیم داد. در نسخههای قدیمیتر وردپرس شبکه، نیاز بود که از افزونهای برای انجام این کار استفاده شود. ولی الان این قابلیت داخل خود وردپرس اضافه شده که بدون نیاز به هیچ گونه افزونهٔ اضافهای میتوان این کار را انجام داد.
Domain Mapping چیست؟
اصطلاحی با عنوان Domain Mapping داریم که به قرار دادن یک دامنهٔ اینترنتی روی یک نشانی اینترنتی دیگر است. مثلاً در وردپرس، زمانی که ساختار شبکه به این صورت است که سایتها به صورت زیر دامنهای (sub1.domain.ext) هستند، اگر خواسته باشیم یک دامنهٔ دیگر مثلا، wptutorial.ir را روی یکی از سایتها تنظیم کنیم، به طوری که دیگر اثری از آن ساختار قبلی نشانی دامنهها نباشد، باید از Domain Mapping استفاده شود.
وردپرس شبکه را به دو حالت میتوان ایجاد کرد:
- Sub-domains یا زیر دامنه : در این حالت تقریباً هر سایت دارای نشانی جداگانه از دیگر سایتها است.
- Sub-directories یا زیر پوشه : در این حالت معمولاً سایتهای وردپرس شبکه، جزء کوچکی از کل شبکه هستند و از نظر نشانی، نمیتوانند جدای از دیگر سایتهای روی شبکه باشند.
در حال دوم ما کنترل زیادی روی نشانیِ سایتهای وردپرس نمیتوانیم داشته باشیم. زمانی که در حال راه اندازی وردپرس شبکه هستید، این شما هستید که باید انتخاب کنید کدام حالت انتخاب و فعال شود. باید دقت داشت که پس از انتخاب یکی از حالتهای نصب شبکه، دیگر امکان تغییر آن وجود نخواهد داشت. اگر خواسته باشید از قابلیت Domain Mapping استفاده کنید، حتماً باید حالت اول یعنی زیردامنه را انتخاب کنید. تنظیم یک دامنهٔ جداگانه روی سایتها، تنها در این حالت امکان پذیر است.
چرا باید از Domain Mapping در وردپرس استفاده کرد؟
شاید شما هم دلایل خاص خود را داشته باشید تا از این امکان استفاده کنید. اما بگذارید چند تا از مهمترین آنها را خدمت شما عرض کنم.
- شما ارائه دهندهٔ خدمات میزبانی سایت هستید و برای هر مشتری یک سایت روی وردپرس شبکه ایجاد کردید. در این حالت باید هر سایت دامنهٔ اختصاصی خودش را داشته باشد.
- شما مالک یک سایت و یا کسب و کاری بزرگ هستید و سایت شما دارای قسمتهای تخصصی است که هر قسمت دارای دامنهٔ اختصاصی خودش است.
- شما ارائه دهندهٔ سرویس وبلاگ دهی مثل wordpress.com هستید که کاربران شما میتوانند دامنههای خودشان را روی سایتشان تنظیم کنند.
خداحافظی با افزونهٔ Domain Mapping
روزهایی که برای استفاده از دامنهٔ شخصی و جداگانه روی وردپرس شبکه میبایستی حتماً افزونهٔ این کار را نصب کنیم گذشته است. از وردپرس نسخهٔ ۴٫۵ به بعد، این قابلیت به خودِ وردپرس افزوده شده و نیازی به نصب افزونهٔ Domain Mapping نیست. به همین دلیل ممکن است با مطالعهٔ مقالهٔ دیگری که کمی هم قدیمی است، شما را به سمت استفاده از افزونهای خاص هدایت کرده باشد! به همین دلیل گیج شده باشید که چرا در یک آموزش این طوری گفته شده و دیگر آموزشی دیگر خیر!
میتوانید به راحتی از تمامی آن آموزشها صرف نظر کنید و ادامهٔ همین مقاله را مطالعه کنید.
پیش نمایشی از مراحل کار
- نصب وردپرس چند سایته به حالت زیر دامنه
- تنظیم رکوردهای DNS برای دامنهٔ سفارشی
- اضافه کردن دامنه به فضای میزبانی
- تنظیم دامنه روی یکی از سایتهای وردپرس شبکه
- تکرار این مراحل برای دیگر سایتهای وردپرس شبکه (اگر نیاز بود)
شروع میکنیم!
گام اول: نصب وردپرس شبکه
خوب، به مانند حالت عادی شما باید طبق آموزشهای تصویری و ویدیویی ما، مبادرت به نصب وردپرس کنید. پس از نصب وردپرس، باید آن را شبکه کنید که این کار را با ایجاد تغییراتی در سند پیکربندی وردپرس بایستی انجام دهید. سپس از پیشخوان وردپرس به مسیر ابزارها » تنظیمات شبکه رفته و حالت زیردامنه را برای شبکه انتخاب کنید. کار بسیار راحتی است.
سپس به شما دو تکه کد داده میشود که باید یکی را در سند wp-config.php و دیگری را در سند .htaccess وارد نمایید. الان میتوانید به غیر از سایت اصلی، یک سایت دیگر به شبکهٔ خود اضافه کنید که قرار است روی آن دامنهٔ دلخواه را بالا بیاورید.
گام دوم: تنظیم DNS دامنه
دامنهای که خریداری میکنید، قطعاً دارای پنلی برای کنترل مشخصاتش است. یکی از این مشخصات DNS دامنه است که باید حتماً به نشانیهای DNS فضای میزبانی (هاست) سایت شما اشاره کند. اگر دامنه را از همان جایی که فضای میزبانی را گرفتید، تهیه کرده باشید، نیازی به انجام کار خاصی نیست. DNS ها به خودیِ خود تنظیم شدند. ولی حتماً بررسی کنید که DNS های دامنه به خوبی تنظیم شدند که اگر این کار را نکنید، کار شما به نتیجه نخواهد رسید. تغییرات DNS هم نیاز به گذشت حداقل یک ۲۴ ساعت را دارند. بنابراین بعد از این مرحله یک روز صبر کنید.
گام سوم: افزودن دامنه به فضای میزبانی
قبل از اینکه خواسته باشید دامنه اختصاصی را روی یکی از سایتهای وردپرس شبکه پیاده کنید، ابتدا باید دامنه را روی کنترل پنل هاست (فضای میزبانی) تنظیم کنید. مثلاً ممکن است کنترل پنل هاست شما سی پنل یا دایرکت ادمین باشد. در حالتی که از سیپنل استفاده مینمایید، باید وارد صفحهٔ Alias شده و دامنه را از اینجا به هاست خود متصل نمایید. این قابلیت در نسخههای قدیمی سی پنل Parked Domains نام داشت که الان دیگر خبری از این بخش نیست.
در دایرکت ادمین باید به قسمت Domain Pointers مراجعه کنید و از آنجا دامنه را به فضای میزبانی اضافه نمایید. از قسمت Target Domain دامنهٔ اصلی وردپرس شبکهتان را انتخاب کنید و حتماً گزینهٔ «Create as an Alias» را هم انتخاب کنید.
بعد از اینکه دامنه را به روشی که گفته شده به فضای میزبانی خود اضافه کردید، مطمئن شوید که در هیچ کجای هاست این دامنه وجود نداشته باشد. مثلاً در بین رکوردهای بخش DNS Manager در سی پنل اثری از دامنه جدید نباید وجود داشته باشد.
گام چهارم: تنظیم دامنه روی سایت وردپرس
مرحلهٔ آخر این است که از پیشخوان مدیر کل شبکه به صفحهٔ «همهٔ سایتها» رفته و روی دکمهٔ ویرایش یک سایت کلیک کنید. در سربرگ «اطلاعات» گزینهٔ نشانی سایت (URL) است را پیدا کنید و نشانی دامنه سایتتان را بدون www وارد کنید. دقت کنید که حتماً http یا https در ابتدای آن باشد. به مانند همان مقدار پیش فرض. سپس روی «ذخیرهٔ تغییرات» کلیک نمایید.
کار تنظیم دامنه روی یکی از سایتهای شبکهٔ وردپرس به اتمام رسید. برای دیگر سایتهای شبکهتان هم میتوانید همین مراحل را دنبال کنید.
اگر قصد تنظیم SSL روی هر کدام از دامنههای افزوده شده به شبکهٔ وردپرس را دارید، ابتدا مطمئن شوید که گواهینامهٔ SSL به واسطهٔ هاستینگ به درستی نصب شده باشد. سپس به راحتی از صفحهٔ تنظیمات سایت، از https به جای http باید استفاده کنید. طبق آموزشهای دیگر سایت هم باید کد مربوطه را در سند htaccess برای ارجاع خودکار بازدید کنندگان قرار دهید.
گاهی از اوقات هم ممکن است در هنگام ورود به پیشخوان یکی از سایتهای شبکه با خطا مواجه شوید. در این خطا اشارهای به غیرفعال بودن کوکیهای مرورگر شده است. در صورتی که مشکلی از این بابت وجود ندارد. برای رفع این خطا کافی است کد زیر را درون سند پیکربندی وردپرس با نام wp-config.php قرار دهید.
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
اگر با خطاهای دیگر هنگام کار کردن با وردپرس شبکه روبرو شدید، به فهرست کامل خطاهای وردپرس که در سایت منتشر شده مراجعه کنید و طبق همانها عمل نمایید. سایت WPTutorial.ir مرجع کاملی در رابطه با آموزش وردپرس و طریقهٔ کار کردن با آن میباشد.
با همین روش اجرا کردم ، برای صفحه پیشخوان مشکلی نیست اما وقتی قصد ورود به صفحه اصلی را دارم به سایت اصلی ریدایرکت می شود. احتمال میدهم مربوط به تنظیمات htaccess باشد. ایکاش در این مورد هم نکاتی رو محبت میکردید
کدهای htaccess که برای وردپرس تک سایته و چند سایته مشخص است و میتونید اونا رو از مستندات خود سایت وردپرس پیدا کنید.
اما مشکل شما میتونه یکی از انجام ناقص مراحل باشه. مثلا ممکنه که یک مرحله رو به درستی انجام نداده باشید.
یا دامنهٔ شما ثبت نیست و یا به درستی DNS هاش تنظیم نشده و روی هاست تنظیم نشده.
یا دستکاریهای ناخواسته در جاهایی بود که حتماً باید بررسی دقیقی روی وردپرس شما انجام بشه.