กรณีที่ต้องการแยกเว็บไซต์ภายใต้โดเมนหลักหรือการสร้าง Sub domain โดยที่ไม่ต้องติดตั้ง WordPress, Themes, Plugins ใหม่เราเรียกการทำในลักษณะนี่ว่าการทำ WordPress Multisite โดยการทำจะแบ่งออกเป็น 2 รูปแบบ คือการทำแบบ Sub Domain กับ Sub Directory
ตัวอย่าง url เมื่อเราทำ WordPress Multisite
แบบ Sub Domain http://multisite.domain.com
แบบ Sub Directory http://domain.com/multisite
ซึ่งในบทความนี้เราจะมาทำ WordPress Multisite แบบ Sub domain กัน
ขั้นตอนการตั้งค่าทางฝั่งของ Hosting
- แจ้งทางผู้ให้บริการโฮสติ้งสำหรับขอเปิด wildcard domain ตรงนี้เป็นขั้นตอนที่สำคัญอันดับแรกที่ต้องทำก่อน แต่สำหรับลูกค้าที่ใช้บริการ VPS สามารถทำได้ โดยขั้นตอนตามลิ้งห์นี้เลยครับ https://help.ruk-com.in.th/topic/7212/
- เมื่อเปิด wildcard ให้เรียบร้อยเราก็ดำเนินการไปจัดการ DNS ที่เมนู DNS Management เพื่อไปเพิ่ม A record ให้รองรับการทำ wordpress multisite
- ขั้นตอนการเพิ่ม A record สำหรับ Directadmin
- login เข้า directadmin
- ไปที่ DNS Management
- เลื่อนลงมาด้านล่างจะมี ช่องให้กรอกสำหรับเพิ่ม A record ให้ใส่เป็น
- ใส่ *.domain.com ( domain.com คือ domain ของเรา )
- ช่องหลังจาก A ให้ใส่เป็น IP ของ hosting ที่ต้องการติดตั้ง WordPress Multisite
- กด Add เป็นอันเรียบร้อย
- ขั้นตอนการเพิ่ม A record สำหรับ Vesta
- เข้าไปที่หน้าจัดการ vesta
- เลือกเมนู DNS
- เอาเมาส์ไปชี้ที่ Domain ที่เราต้องการเพิ่ม Record จะมีปุ่มแสดงขึ้นมาให้กดที่ “Add Record +”
- จะมีฟอร์มให้ใส่ข้อมูลให้ใส่ข้อมูลตามภาพประกอบ แต่ว่า อย่าลืมตรวจสอบชื่อ domain นะครับ
- ขั้นตอนการเพิ่ม A record สำหรับ Directadmin
ขั้นตอนการตั้งค่าทางฝั่งของ WordPress
- ให้ทำการปิดการใช้งานปลั๊กอินทั้งหมดก่อน
- ให้ทำการเปลี่ยน Permalink ให้เป็น Post Name ก่อน โดยไปที่ Settings (ตั้งค่า) -> Permalinks และติ๊กเลือกที่ Post Name ( ชื่อเรื่อง)
- จากนั้นให้เปิด ไฟล์ wp-config.php ผ่าน ftp เพื่อทำการติดตั้ง wordpress multisite โดยเพิ่ม
/* Multisite */ define( 'WP_ALLOW_MULTISITE', true );
ก่อนบรรทัด /* That’s all, stop editing! Happy blogging. */ และ save file ให้เรียบร้อยครับ
- ให้เข้าไปที่ wp-admin ของโดเมนหลักของเรา domain.com/wp-admin เพื่อเข้าไปทำการตั้งค่า wordpress multisite
- ให้หาเมนู Tools (เครื่องมือ) -> Network Setup (ตั้งค่าเครือข่าย) เมื่อเข้ามาแล้วให้ดูว่าติ๊กที่ sub-domains แล้วหรือเปล่า และ สามารถแก้ หัวข้อของเครือข่ายที่เราจะสร้างได้ และ อีเมล์ เมื่อเสร็จแล้วให้กด Install ( ติดตั้ง )
- เมื่อกดแล้วจะมีข้อมูลให้เรา copy ไปใส่ใน wp-config.php และ .htaccess และ save file เป็นการสิ้นสุดการติดตั้ง wordpress multisite ในส่วนของ wordpress
ตัวอย่างที่ใส่ใน wp-config.php
define('MULTISITE', true); define('SUBDOMAIN_INSTALL', true); define('DOMAIN_CURRENT_SITE', 'kikakiko.xyz'); define('PATH_CURRENT_SITE', '/'); define('SITE_ID_CURRENT_SITE', 1); define('BLOG_ID_CURRENT_SITE', 1);
ตัวอย่างที่ใส่ใน .htaccess อันนี้ให้แทนที่เฉพาะที่อยู่ใน <IfModule mod_rewrite.c> …. </IfModule> นะครับ
RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] # add a trailing slash to /wp-admin RewriteRule ^wp-admin$ wp-admin/ [R=301,L] RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] RewriteRule ^(wp-(content|admin|includes).*) $1 [L] RewriteRule ^(.*\.php)$ $1 [L] RewriteRule . index.php [L]
เมื่อตั้งค่าเสร็จเรียบร้อยแล้วลองเข้าทดสอบได้เลยครับโดยเข้า subdomain ที่เราสร้าง