เนื่องจากข้อความใน url นั้นมีความสำคัญต่อ SEO มากในหลายๆ กรณีเราอยากจะใส่ข้อความภาษาไทยใน urlแต่ไม่สามารถทำได้ตรงๆ ครับ ต้องใช้ mod_rewrite เข้ามาช่วย
mod_rewrite เป็น module ยอดนิยมของ apache เลยก็ว่าได้เนื่องจากขึ้นชื่อในการทำ url ให้อยู่ในรูปแบบที่สวยงามและ seo friendly
1. สร้าง html file ง่ายๆ 2 file ใน folder public_html
โดยใช้ชื่อว่า ภาษาไทย.html และ thai.html และให้ทั้ง 2 file มี content เหมือนกัน
2. จากนั้นให้ลองเข้า ภาษาไทย.html และ thai.html
จะพบว่า thai.html สามารถเข้้าได้ตามปกติ แต่ภาษาไทย.html ไม่สามารถเข้าได้
โดยขึ้น error ว่า The requested URL …html was not found on this server.
3. ที่นี้ลองแก้โดยสร้าง .htaccess file ใน folder public_html และให้ใส่ rewrite rule ดังนี้
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ index.php?url=$1 [L]
อธิบายการทำการได้ดังนี้ หากไม่พบ file หรือ directory ที่ระบุ ( บรรทัด 3-4) ให้ทำการ rewrite url ภาษาไทยไปที่ index.php
4. จากข้อ 3 ที่ทำการ rewrite url ภาษาไทยไปที่ index.php
ที่นี้ใน index.php เราก็ต้อง include url ภาษาไทย (ได้มาจาก HTTP GET)
เข้ามาเพื่อแสดงผล โดยเขียน script ได้ดังนี้
if(!empty($_GET[‘url’]))
include(iconv(‘UTF-8’, ‘TIS-620’, $_GET[‘url’]));
?>
5. ทดลองเข้า ภาษาไทย.html จะได้ผลลัพธ์เช่นเดียวกับ thai.html