สำหรับวิธีการเปลี่ยนที่อยู่ URL ของ WordPress เมื่อเรามีการย้ายชื่อโดเมน หรือจะชื่อโดเมนเดิม แต่อาจจะอยากย้ายระบบไปไว้ในโฟเดอร์ เช่น ย้ายจาก xvlnw.com => xvlnw.com/wordpress_old เป็นต้น หรือจะเปลี่ยนชื่อโดเมนไปเลย เช่น xvlnw.com => iamxvlnw.com เป็นต้น วิธีแบบยาก คือเราต้องเข้าไปแก้ไข wp_options ในระบบ Database อาจจะแก้ไขผ่าน phpMyAdmin หรือจะแก้ไขไฟล์ .sql แล้ว Import เข้าไปก็ได้ ก็มีหลายท่าให้ทำ
สำหรับวิธีการนี้ ผมจะแนะนำให้ใช้ PHP Code ในการแก้ไข โดยขั้นตอนดังนี้
ขั้นตอนที่ 1: หลังจากย้าย Files & DB ของเว็บไปที่อยู่ใหม่แล้ว ให้ทำการแก้ไขไฟล์ wp-config.php เพิ่มโค๊ดด้านล่างนี้ ไว้ท้ายสุดของไฟล์นะครับ
# Change WordPress URL Somchai@DE - https://cloudhost.in.th define('RELOCATE',true); if ( defined( 'RELOCATE' ) AND RELOCATE ) { // Move flag is set if ( isset( $_SERVER['PATH_INFO'] ) AND ($_SERVER['PATH_INFO'] != $_SERVER['PHP_SELF']) ) $_SERVER['PHP_SELF'] = str_replace( $_SERVER['PATH_INFO'], "", $_SERVER['PHP_SELF'] ); $url = dirname( set_url_scheme( 'https://'. $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'] ) ); if ( $url != get_option( 'siteurl' ) ) update_option( 'siteurl', $url ); update_option( 'home', $url ); }
ขั้นตอนที่ 2: ให้เรียก URL ใหม่ ที่เราต้องการเปลี่ยน เช่น xvlnw.com/old คือตัว URL ใหม่ 1 ครั้ง ตัวโค๊ดด้านบน จะทำการเข้าไป Update Database เป็น URL ใหม่ให้เสร็จเรียบร้อยครับ หลังจากอัพเดต URL ใหม่แล้วครับ และเราสามารถลบโค๊ดในข้อ 1 ออกจาก wp-config.php ได้เลยครับ
ปัญหาเพิ่มเติมที่เจอหลังเปลี่ยน URL
ในกรณีหากเราย้ายจากโดเมนหลัก ไปยัง Sub Folder อย่าลืมอัพเดต .htaccess Rules ด้วยนะครับ โดยวิธีการง่ายๆก็คือ ให้เราเข้าสู่ระบบ wp-admin แล้วไปที่ “ตั้งค่า” > “ลิงก์ถาวร” แล้วจากนั้น กดที่ “บันทึกการเปลี่ยนแปลง” โดยไม่ต้องแก้ไขค่าอะไรครับ สำหรับเมนูภาษาอังกฤษใครหาไม่เจอ หลังล็อคอินแล้วให้ไปที่ /wp-admin/options-permalink.php ครับ
ในกรณีหากเราใช้ Plugin อะไรก็ตาม ที่มีการอ้างอิง Path เช่น Plugin Cache ไฟล์ต่างๆ เราก็ต้องไล่แก้ไขไปตาม Plugin โดยวิธีการโชว์ Error ออกมา ให้เพิ่มคำสั่งนี้ในไฟล์ wp-config.php ไว้ด้านล่างของ PHP Tag นะครับ
define( 'WP_DEBUG', true );
หากไม่มีอะไรผิดพลาด WordPress จะไม่แสดง Error Message อะไรออกมาครับ เป็นอันเสร็จสมบูรณ์ครับ และเราสามารถที่จะลบโค๊ด Debug ออกได้เลย หรือเปลี่ยนค่าเป็น false เพื่อเปิดการทำงานครับ
define( 'WP_DEBUG', false );
Blog ส่วนตัว ที่จะแชร์เรื่องร่าวต่างๆที่พบเจอมา จากประสบการณ์จริง เพื่อเป็นประโยชน์ต่อสังคมและผู้ที่กำลังศึกษาหาความรู้เรื่องต่างๆ ไม่ว่าจะเป็น Server, Network, Security, ทำเว็บไซต์, เขียนโปรแกรม, ฯลฯ ขอบคุณทุกๆการติดตามครับ 😉
★ บริการ Cloud Server ★