1/22/2557

Mod Rewrite Syntax การเขียน .htaccess อย่างง่ายช่วยย่อ url ที่ยาวให้สั้นลงและมีผลต่อการทำ seo



Mod Rewrite  จะเป็นการเขียนคำสั่ง ให้ลิงค์เว็บไซต์ หรือ URL ให้สั้นลงดูแล้วสะอาดตา ช่วยในการ ทำ SEO ได้ดีขึ้น เพราะ Google มันจะชอบลิงค์สั้นอ่านแล้วเข้าใจง่ายมีความหมาย (อันนี้อ่านเจอจากเว็บต่างประเทศ)  Mod Rewrite มันก็จะช่วยซ่อน URL ที่ยาวและมั่วให้อยู่ในรูปแบบ URL ที่สั้นและสวยงามมีความหมาย



คำสั่ง Mod Rewrite ที่เขียนนั้นจะต้องบันทึกเป็นไฟล์ .htaccess ไว้ใน Directory ของเว็บไซต์ ซึ่ง Syntax Mod Rewrite หรือคำสั่งที่ใช้ในการเขียนก็ตั้งแต่ Basic จนถึง Advance ตอนนี้เราก็มาดูคำสั่งแบบ Basic ที่ใช้กันส่วนมากกันก่อนครับ

การที่จะให้งานคำสั่ง Mod Rewrite ได้นั้นจะต้องตั้งค่า httpd.conf  Mod Rewrite ใน Appserv ก่อนนะครับ แล้ว การเขียนคำสั่งใน Appserv กับ IIS จะไม่เหมือนกันนะครับ แต่คล้ายๆกัน แต่ผมจะแนะนำการเขียนใน Appserv นะครับเพราะส่วนใหญ่จะใช้ Appserv กัน

ไฟล์ .htaccess

#คำสั่งแรก RewriteEngine On เป็นคำสั่งเปิดใช้งาน mod rewirte เครื่อง # เป็นเครื่องหมายที่ใช้ในการ Comment
RewriteEngine On


#คำสั่ง RewriteBase คำสั่งให้สามารถให้งานฟังก์ชั่นของ PHP Version ต่ำกว่า Version ปัจจุบันได้ หรือสามารถอ่านคำสั่งอักขระพิเศษที่ Server ปิดการใช้งานไว้ อันนี้ตามที่ผมเข้าใจ
php_flag register_globals on

#คำสั่งเรียกที่พาสของเว็บไซต์ ถ้าไม่มีก็ไม่ต้องใส่ ถ้าเก็บไฟล์เว็บไว้ในโฟล์เดอย่อยไปอีกก็จะเขียน เช่น RewriteBase / helloworld คือเราเก็บไฟล์เว็บไว้ใน www/helloworld ถ้าไม่มีก็ใส่แค่ ส่วนใหญ่จะเป็นทดสอบใน localhost

RewriteBase

#คำสั่ง RewriteRule เป็นการกำหนดเงื่อนไขที่จะทำการแปลง URL เช่น

RewriteRule

ส่งค่าตัวแปรเดียว
#RewriteRule ^(.*)$ ?option=topic&view=detail&name1=$1
#RewriteRule ^([a-zA-Z0-9_-]+)$ ?option=topic&view=detail&name1=$1
#RewriteRule ^(.*).html$ ?option=topic&view=detail&name1=$1

ส่งค่ามากกว่า 1 ตัวแปร

#RewriteRule ^(.*)-^(.*)$ ?option=topic&view=detail&name1=$1&name2=$2
#RewriteRule ^(.*)-^(.*).html$ ?option=topic&view=detail&name1=$1&name2=$2


^(.*)$  ความหมายคือ ส่งค่าอะไรมาก็ได้
^([a-zA-Z0-9_-]+)$ ความหมายคือ ค่าที่ส่งมาได้เฉพาะค่าที่กำหนดเท่านั้น คือ 0-9 กับอักษร a-z A-Z เท่านั้น

โดยจะส่งค่าไปที่ตัวแปร $1 จะเป็น ID หรือ ชื่อหัวข้อก็ได้ เวลาจะเรียกก็อย่าง เช่น

www.example.com/rewriterule  อันนี้เป็น URL Mod Rewirte
www.example.com/rewriterule.html  อันนี้เป็น URL Mod Rewirte
www.example.com/?option=topic&view=detail&name=rewriterule  อันนี้เป็น URL จริงที่ทำงานอยู่ภายใน

#คำสั่ง ErrorDocument 404 เป็นคำสั่งตรวจสอบไฟล์ 404 คือไม่พบไฟล์ที่ส่งมา โดยจะต้องสร้างไฟล์ 404.htnl ไว้ใน Directory ของเว็บไซต์ วิธีเขียน

ErrorDocument 404 /helloworld/404.html

สรุปไฟล์  .htaccess

RewriteEngine On
RewriteBase / hellworld
#กรณีทดสอบใน localhost ใส่พาสที่อยู่ของเว็บ RewriteBase / hellworld
RewriteRule ^(.*)$ ?option=topic&view=detail&name1=$1
#เวลาเรียก URL เช่น  www.example.com/rewriterule
ErrorDocument 404 /helloworld/404.html

การตั้งค่า Appserv ให้สามารถใช้งาน htaccess rewrite ได้


ตัวอย่างเว็บที่ทำ Mod Rewirte .htaccess
http://www.koratnews.com
http://www.cho-gallery.com/

0 ความคิดเห็น:

แสดงความคิดเห็น