<

หมวดหมู่

เทคนิคเปิดเว็บขายของ

ตัวแทนขายสินค้าบริการ

เพิ่มยอดขายกระจายยอดคลิ๊ก

เครือข่ายออนไลน์

บทความมาใหม่

SEO วิธีทำ Rewrite Mode ให้ลิงค์เป็นภาษาไทย ทำให้อันดับใน Google ดีขึ้น - Naitam.com

ภาพรวมการทำ Rewrite Mode ภาษาไทย (แนะนำให้มือใหม่คิดแบบง่าย ๆ ตามบทความก่อนที่จะเพิ่มเติมอะไรลงไป)

1) มีไฟล์ 3 ไฟล์ ดังนี้

  • .htaccess เพื่อเขียน RewriteRule
  • index.php เพื่อเรียกเฉพาะหัวข้อบทความมาแสดง
  • read.php เพื่อให้ server ประมวลผลที่ server 

2) ตารางฐานข้อมูลมีโครงสร้าง ดังนี้

  • feild ชื่อ id คือ ลำดับที่บทความ
  • feild ชื่อ topic คือ หัวข้อบทความ
  • feild ชื่อ detail คือ เนื้อหาบทความ

    โดยกำหนดให้ Charset ของฐานข้อมูลเป็น UTF-8 เท่านั้น และให้ทำการ insert ข้อมูลลงไปทั้ง 3 field ก่อนจะทำขั้นต่อไปครับ ทำแค่ 1 แถวก็พอครับ เพื่อทดสอบ

3) ไฟล์ทั้งหมดอยู่ที่ root ของโดเมน เช่น natiam.com/index.php , naitam.com/.htaccess

 

หลักการทำงาน

ผู้ชมคลิ๊ก link หัวข้อบทความจาก index.php?id=1 โดยที่ link นั้นกำหนด Tag แบบนี้ < a href="article/สอนเขียนเว็บไซต์/1 ">สอนเขียนเว็บไซต์

หลังจากที่ server ได้รับคำสั่ง request ขอดูเว็บเพจที่ direcory ชื่อ http://naitam.com/article/สอนเขียนเว็บไซต์/1  (ซึ่งไม่มีอยู่จริง) จากผู้เข้าชมแล้ว ไฟล์ .htaccess จะถูก server เรียกมาอ่านว่า มีการกำหนดคำสั่งอะไรไว้บ้าง ? ก่อนจะประมวลผลต่อ และหนึ่งในคำสั่งนั้น คือ RewriteRule ที่เรากำหนดไว้

RewriteRule ที่เรากำหนดไว้ จะกำหนดให้ไปเรียกไฟล์ read.php ขึ้นมา โดยรับตัวแปรผ่านลำดับของ Regular (ไม่ต้องงงครับ ปล่อยผ่านก่อน) ซึ่งตัวแปรถูกซ่อนไว้ใน URL นี้ คือ http://naitam.com/article/สอนเขียนเว็บไซต์/1 ซึ่งตัวแปรที่ 1 คือ สอนเขียนเว็บไซต์ และ ตัวแปรที่ 2 คือ 1นั่นเอง

หาก URL ที่ Request เข้ามา ตรงตามกฏของ Regular ครบถ้วน Server ก็จะส่งหน้าเว็บเพจ (ซึ่งก็ คือ http://naitam.com/article/สอนเขียนเว็บไซต์/1 ) กลับไปยังผู้เข้าชม โดยที่ URL ไม่ได้เปลี่ยนแปลง หรือ Redirect ไปไหนเลย

ส่วนไฟล์ read.php ก็จะประมวลผลออกมา และปรากฏผ่าน http://naitam.com/article/สอนเขียนเว็บไซต์/1 ตามปกติ

 

บรรทัดคำสั่งในทั้ง 3 ไฟล์

.htaccess

RewriteEngine on

RewriteRule ^article/(.*)/([0-9]+)/$ read.php?id=$1&id=$2
RewriteRule ^article/(.*)/([0-9]+)$ /article/$1/$2/ [R]

หมายเหตุ !
บรรรทัด RewriteEngine on ต้องอยู่บนสุด ส่วนบรรทัดอื่น ๆ จะอยู่บรรทักไหนก็ได้ ถ้ามีคำสั่งอื่นเขียนไว้ก่อน เช่น ErrorDocument 404 ฯลฯ และต้องเขียนคำสั่งตัวใหญ่ / ตัวเล็ก ตรงตามกฏทุกอย่าง คุณต้องศึกษากฏการเขียน Regular Expression ในการเขียนคำสั่งใช้กับ RewriteRule

 

index.php

require(connect.inc.php) // ไฟล์เชื่อมต่อฐานข้อมุล mySQL

$SQL = "SELECT id,topic FROM article";

$RESULT = mysql_db_query($dbname,$SQL);

while ($FETCH=mysql_fetch_row($RESULT)) {

echo "< a href = 'http://naitam.com/article/$FETCH[1]/$FETCH[0] '> $FETCH[1] </a >";

}

?>

หมายเหตุ !
ผมขอเขียนแบบง่าย เพื่อสำหรับคนที่เพิ่งหัดเขียน คนที่เก่งแล้วสามารถเขียนแบบคำสั่งเดียว หรือ แบบ OOP ได้เลยครับ

 

read.php

require(connect.inc.php) // ไฟล์เชื่อมต่อฐานข้อมุล mySQL

$SQL = "SELECT * FROM article WHERE id=$_GET[id]";

$RESULT = mysql_db_query($dbname,$SQL);

while ($FETCH=mysql_fetch_row($RESULT)) {

echo "$FETCH[1] < br > $FETCH[2]";

}

?>

หมายเหตุ !
ผมขอเขียนแบบง่าย เพื่อสำหรับคนที่เพิ่งหัดเขียน คนที่เก่งแล้วสามารถเขียนแบบคำสั่งเดียว หรือ แบบ OOP ได้เลยครับ

 

อัพโหลดและทดสอบ

อัพโหลดไฟล์ทั้ง 3 ไฟล์ไว้ที่ root ของ Domain เลย ไม่มีไว้ใน folder ไหน แล้วให้พิมพ์บราวเซอร์ เรียกไฟล์ http://yourwebsite.com/

ก็จะแสดงหัวข้อบทความขึ้นมา คลิ๊กที่ลิงค์ บราวเซอร์จะแสดง URL เป็น http://yourwebsite.com/article/หัวข้อบทความ/1 และเนื้อหาก็จะแสดงผลขึ้นมาด้วย

 

ภาพประกอบโดยละเอียด 

ผู้เขียน : นายแทม ดอทคอม

โลกส่วนตัวสูงปรี๊ด ยากจะมีคนเข้าถึง แต่ถ้าใครเข้าถึงแล้ว ถือว่ามีกรรมร่วมกัน เพราะจะหลุดออกไปไม่ได้อีกเลย ชอบคิดและเขียนเรื่องราวที่มีสาระ แต่ถ้าได้พูดเมื่อไหร่จะไร้สาระทันที

บริการจริงใจ
บริการออกแบบเว็บไซต์บนสมาร์ทโฟน
บริการออกแบบเว็บไซต์ให้ ฟรี 100%
บริการให้คำปรึกษาการตลาดออนไลน์
หาเงินออนไลน์กับนายแทม ฟรี 100%
บริการจัดหางาน ฟรีสำหรับผู้พิการ
ร้านนายแทม
ประวัติร้านนายแทม
รู้จักนายแทมเจ้าของร้าน
กลัวโดนนายแทมหลอก
ทำไมต้องโอนเงินก่อน
สั่งซื้อสินค้าช่องทางไหน
การจัดส่งสินค้าและวิธีการรับสินค้า
อ่านคำถาม - คำตอบอื่นที่พบบ่อย
โปรโมชั่นสินค้าไฮไลท์เด็ด
กระดานแจ้งผลจัดส่งสินค้า
ติดต่อร้านนายแทม