วิธีทำหน้า intro แบบไฟล์ index.html กับ wordpress แยกออกมาโดยไม่ใช้ wp-content/themes/name/home.php หรือ front-page.php เพื่อในวาระพิเศษวันสำคัญต่างๆ โดยไม่ให้หน้าเว็บแบบพิเศษนี้มันทำงานซ้ำซ้อนกัน

จากปกติที่ เข้าหน้าเว็บแบบ domain.com/ มันจะเรียกไฟล์ที่ index.php ของ wordpress ให้อัตโนมัติ
คราวนี้เราจะให้ เข้าหน้าเว็บแบบ domain.com/ ให้มันเรียกไฟล์ index.html ก่อน แล้วค่อยเข้า index.php ของ wordpress ตามทีหลัง

ก่อนอื่นต้องเชค DirectoryIndex ของ apache ก่อนว่าเรียงการเรียก index.ต่างๆ ทำงานได้ตามต้องการหรือยัง
โดย appserv เข้าไปเชคที่ \AppServ\Apache2.2\conf\httpd.conf แล้วแก้ให้ index.html มาก่อน index.php ก็เป็นอันใช้ได้

<IfModule dir_module>
    DirectoryIndex index.htm index.html index.php
</IfModule>

โดยของ directadmin ก็เข้าไปเชคที่ /etc/httpd/conf/httpd.conf
อย่าลืมรีสตาร์ท apache อีกรอบ(appserv รีเครื่องเลยก็ได้ถ้ามันหลอนๆ)

ส่วนที่ wordpress ให้เปิดไฟล์ /wp-includes/canonical.php ขึ้นมา ไปที่บรรทัด 364 (เทียบจาก wp 4.1)
หาโค้ดประมานนี้

	// trailing /index.php
	$redirect['path'] = preg_replace('|/' . preg_quote( $wp_rewrite->index, '|' ) . '/*?$|', '/', $redirect['path']);

แก้เป็น

	// trailing /index.php
	$redirect['path'] = preg_replace('|/' . preg_quote( $wp_rewrite->index, '|' ) . '/$|', '/', $redirect['path']);

ก็สามารถใช้ index.htm ที่สร้างขึ้นเอง กับ index.php ของ wordpress ได้ล่ะ

**เรื่องการใช้งานที่ต้องระวัง
– ใน theme ของ wordpress ให้ลิ้งค์ภายใน ให้มี index.php ต่อท้ายโดเมนเสมอ ไม่งั้นเวลาเปิด domain.com/ มันจะเรียกแต่ index.html แต่ถ้าใช้ rewrite_url ก็แก้เฉพาะลิ้งค์ภายในของหน้าแรกให้เรียก domain.com/index.php ก็ใช้งานได้ปกติ ส่วนอื่นๆ ไม่มีปัญหา

share: สร้างหน้าเว็บ Intro ทำให้ index.html ใช้ร่วมกับ wordpress