• June 3, 2017

    เนื่องจากข้อความใน 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



เวอไนน์ไอคอร์ส

ประหยัดเวลากว่า 100 เท่า!






เวอไนน์เว็บไซต์⚡️
สร้างเว็บไซต์ ดูแลเว็บไซต์

Categories