การเขียนไฟล์ .htaccess เพื่อใช้กับ WordPress Permalinks

คนใช้งาน WordPress มือใหม่อาจจะเคยเจอปัญหาเวลาใช้งานฟังก์ชั่นของ Permalink Settings ใน WordPress ที่เป็น Permalink structure แบบอื่นที่ไม่ใช่ Plain (แบบเป็นตัวเลขไอดี ตามรูปข้างล่าง) แล้วไม่สามารถเปิดหน้าเว็บไซต์ของเราได้

จากรูปข้างล่างจะเห็นว่าถ้าเรากำหนดลิ้งค์ให้เป็นแบบไอดี ก็จะเปิดโพสของเราได้ตามปกติ (โปรดดูที่ url ของ Browser รูปด้านล่าง)

แต่ถ้าหากเราเปลี่ยน Permalink Setting เป็นแบบอื่น บางเว็บอาจจะติดปัญหาที่ไม่สามารถเปิดโพสเหล่านั้นได้

มีวิธีการง่ายๆสำหรับผู้ดูแล เพียงเราเขียนไฟล์ .htaccess ขึ้นมา แล้วนำไปไว้ที่โฟลเดอร์ที่เราติดตั้ง wordpress โดยเขียนตามนี้ได้เลยครับ (รูปด้านล่างสำหรับกรณีเว็บไซต์ที่ไม่ได้ติดตั้งใน / (root) เลย หรืออยู่ในโฟลเดอร์ต่อมา)

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /wordpress/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]
</IfModule>
# END WordPress

แต่หากท่านใดที่ติดตั้ง wordpress ใน / root เลย ให้เขียนคำสั่งตามนี้ครับ

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

พอเสร็จแล้วก็ให้อัพโหลดไปยังเซอเวอร์๋ของท่าน ทีนี้ลองมาดูผลลัพธ์โดยการเรียกดู ตามรูปถ้าดูที่แถบ URL Bar จะเห็นว่าสามารถเปิดโพสที่เป็น Permalink แบบ Custom ได้แล้ว

ไม่ยากเลยใช่ไหมครับสำหรับเบื้องต้นการเขียนไฟล์ .htaccess เพื่อใช้กับ WordPress Permalinks