আপনি এটি একটি কাস্টমাইজড সানরাইজ.এফপি ফাইল দিয়ে করতে পারেন। এটি ডোমেন ম্যাপিং প্লাগইন কীভাবে কাজ করে তা মূলত এটি যাইহোক এটি এতে সামনের দিকে এগিয়ে যায়। কিছু কাস্টম জন্য, আপনি মূলত একই জিনিস করতে কিছু সাধারণ পিএইচপি লিখতে পারেন।
কোন সাইটটি পরিবেশন করতে হবে তা নির্ণয়ের সাথে মাল্টিসাইটের সারাংশ অন্তর্ভুক্ত। ডোমেন ম্যাপিং প্লাগইন এটি একটি wp_domain_mapping টেবিল তৈরি করে এবং সেখানে তথ্য সংরক্ষণ করে করে। সুতরাং, যখন এটি xxx.com এর জন্য একটি অনুরোধ পেয়েছে, এটি সেই টেবিলটিতে দেখায় এবং এটি ব্লগ_আইডি 123 এর সাথে মিলে যায়।
প্রথমে একটি ওয়ার্ডপ্রেস সেটআপ করুন এবং এটি মাল্টিসাইট তৈরি করুন। এটি যেখানেই বাস করে তা বিবেচ্য নয়, কারণ আমরা সমস্ত পরিবর্তন করব। সরলতার জন্য, আমি এটিকে blog.stackexchange.com এ রেখেছি এবং এটিকে একটি সাব-ডিরেক্টরি ডিরেক্টরি টাইপ করব (সেগুলি আরও সহজ) are তৈরি সাব-ডিরেক্টরিগুলি সম্ভবত স্লাগগুলি হবে। / ওয়ার্ডপ্রেস, / আপেল, / যাই হোক না কেন।
হ্যাঁ, শুরু করার জন্য, আপনি সত্যিই এটি ব্লগ.স্ট্যাকেক্সচেঞ্জ / ওয়ার্ডপ্রেসটিতে লাইভ করছেন। এটি আপনার মঞ্চ পরিবেশ বিবেচনা করুন। আপনি যখন প্রতিটি সাইট তৈরি করেন, ম্যাপিং চালু করার সিদ্ধান্ত না নেওয়া পর্যন্ত আপনি এখানে এটি স্টাফ করতে পারেন।
প্লাগইন ছাড়াই নিজেকে ডোমেন ম্যাপিং করতে, আপনি এই জাতীয় কিছু করতে চাইবেন:
প্রথম পদক্ষেপ: define( 'SUNRISE', 'on' );
আপনার wp-config.php ফাইলের শীর্ষে যুক্ত করুন।
দ্বিতীয় পদক্ষেপ: ডাব্লুপি-কন্টেন্ট ডিরেক্টরিতে একটি সানরাইজ.এফপি ফাইল তৈরি করুন। <?php
শুরুতে শীর্ষে রাখুন ।
তৃতীয় পদক্ষেপ: কোন সাইটটি লোড করা হবে তা নির্ধারণের জন্য সূর্যোদয়.পিএফপি ফাইলটি আপনার যুক্তিযুক্ত হতে চলেছে।
আপনি এটি $_SERVER[ 'HTTP_HOST' ]
ভেরিয়েবলের উপর ভিত্তি করে যাচ্ছেন । আপনি এটি কীভাবে করবেন তা সহজ: তবে আপনি এটি করতে চান। আপনি যদি সন্ধানের জন্য কেবল একটি রেজেক্স লিখতে চান '/blog\.(.*)\.stackexchange\.com/'
এবং তারপরে ডাটাবেসে সেই বিটটি দেখতে চান, আপনি এটি করতে পারেন can
যেহেতু আপনি এখানে "সাব-ডিরেক্টরি" হিসাবে একই স্লাগ ব্যবহার করছেন তাই আপনার আলাদা টেবিলের দরকার নেই। আপনার প্রয়োজনীয় সাইটটি সন্ধান করতে আপনি কেবল প্রধান ডাব্লুপি_ব্লগস সারণিতে সন্ধান করতে পারেন। এর মতো কিছু:
$current_blog = $wpdb->get_var( "SELECT blog_id FROM {$wpdb->blogs} WHERE path = '/wordpress/' LIMIT 1" );
আপনার একবার $ কারেন্ট_ব্লগ হয়ে গেলে আপনার নিম্নলিখিত কোডটি দরকার:
$current_blog->domain = $_SERVER[ 'HTTP_HOST' ];
$current_blog->path = '/';
$blog_id = $current_blog->blog_id;
$site_id = $current_blog->site_id;
$current_site = $wpdb->get_row( "SELECT * from {$wpdb->site} WHERE id = '{$current_blog->site_id}' LIMIT 0,1" );
$current_site->blog_id = $current_blog->blog_id;
এটি ওয়ার্ডপ্রেস এর MU ফাংশনগুলি না করার পরিবর্তে $ কারেন্ট_ব্লগ এবং $ কারেন্ট_সাইট গ্লোবাল ভেরিয়েবলগুলি পূর্ব-সংজ্ঞায়িত করে।
সাইটটি উপরে উঠতে এবং কাজ করার জন্য এটি যথেষ্ট হবে (আপনার ডিএনএস এটির দিকে লক্ষ্য করার পরে এবং ভার্চুয়াল হোস্টিংয়ের জিনিসগুলি সাজানোর পরে) তবে এইচটিএমএল কোডে ব্যবহৃত বেশিরভাগ স্থির URL গুলি এখনও ব্লগ.স্ট্যাকেক্সেঞ্জ ডটকমকে নির্দেশ করবে would / ওয়ার্ডপ্রেস, যেহেতু সাইটটি সত্যই সেখানে থাকবে। এছাড়াও, ক্যানোনিকাল ইউআরএল ফাংশনটি সম্ভবত URL টি পছন্দ করবে না এবং আপনাকেও পুনর্নির্দেশ করবে।
এই সমস্যাগুলির প্রতিকারের জন্য, আপনি সম্ভবত সাইটের সাথে যুক্ত বেশ কয়েকটি URL টি পূর্বনির্ধারিত করতে চান। ডাব্লুপিএসআইটিআইআরএল এবং ডাব্লুপিহোমের মতো জিনিস। এছাড়াও, ডাব্লুপি_সিএনটিআইপিআরএল, ডাব্লুপিপুএলএলজিএজিআরএল, এবং ডাব্লুপিএমইউএলপিএলজিজিআরএল। এটি বেশিরভাগ ক্ষেত্রে ইউআরএলগুলি সামঞ্জস্য করা উচিত cover
অবশেষে, আপনি 'COOKIE_DOMAIN' সেট করতে চাইবেন। যেহেতু আপনি সম্ভবত সামগ্রিকভাবে লগইনগুলি ভাগ করে নিতে চান তাই আপনি এটি স্ট্যাকেক্সচেঞ্জ ডটকম এ সেট করতে পারেন বা আপনি যদি তাদের ভাগ করে লগইন না চান তা আরও উচ্চতর সেট করতে পারেন।
আপনি যদি ওয়ার্ডপ্রেসে সাধারণ স্ট্যাকেক্সচেঞ্জ লগইন সিস্টেমকে সংহত করার বিষয়ে কথা বলতে চান, আমি সে বিষয়েও প্রশ্নের উত্তর দিতে পারি, তবে এটি একটি উত্তর সম্পর্কে কিছুটা বিশদ হবে। :)
আপনি যদি এই বিষয়ে আরও সহায়তা চান তবে নির্দ্বিধায় আমাকে ইমেল করুন। সহায়তা করতে পেরে খুশি: ওয়ার্ডপ্রেস.আর.এতে অটো।