ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingรบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ  (อ่าน 1036 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
amtis
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 68



ดูรายละเอียด
« เมื่อ: 26 เมษายน 2011, 23:58:53 »

คือใช้เว็บ http://www.generateit.net/mod-rewrite/ ในการทำ mod rewrite อ่ะคะ

The original URL:
hxxp://www.abcshop.com/?action=cat_list&cat_name=สมุนไพร&menu=2&cat=1

The rewritten URL:
hxxp://www.adcshop.com/สมุนไพร.html


ผลของ Rewrite ที่นำไปวางใน .htaccess คือ

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /?action=cat_list&cat_name=$1&menu=2&cat=1 [L]

แต่เมื่อนำไปใช้จิง ปรากฎว่า ไม่ว่าจะคลิกที่เมนู อะไร ก็จะไปแค่หน้าที่เขียน rewrite อย่างเดียว เนื่องจาก ค่า id มันไม่เปลี่ยนไป
คือมันจะวิ่งไปที่ ?action=cat_list&cat_name=$1&menu=2&cat=1 [L]

คำถามคือ หากเราต้องการเขียน code เพื่อเปลี่ยนค่า id คือเลข 1 จะมีวิธีหรือเปล่าคะ

รบกวนผู้รู้ด้วยนะคะ ขอบคุณมาก ๆ ค่ะ
บันทึกการเข้า
kudjung
สมุนแก๊งเสียว
*

พลังน้ำใจ: 45
ออฟไลน์ ออฟไลน์

กระทู้: 984



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 27 เมษายน 2011, 00:09:13 »

คงต้องเขียนโปรแกรมในส่วนของ php ดักค่า cat_name ที่ได้ไปตรวจสอบกับฐานข้อมูลเพื่อหาค่า cat id แต่ถ้าชื่อ cat_name ซ้ำกันก็ซวยไป  Tongue Tongue
บันทึกการเข้า

Pang25441
ก๊วนเสียว
*

พลังน้ำใจ: 31
ออฟไลน์ ออฟไลน์

กระทู้: 269



ดูรายละเอียด
« ตอบ #2 เมื่อ: 27 เมษายน 2011, 00:13:41 »

สมุนไพร-1-2.html / สมุนไพร-2-4.html

อะไรแบบนี้ดีไหมครับ(คล้ายๆดิสคัส หุหุ)
บันทึกการเข้า

Click!!
ปรวชฺชานุปสฺสิสฺส นิจฺจํ อุชฺฌานสญฺญิโน
อาสวา ตสฺส วฑฺฒนฺติ อารา โส อาสวกฺขยา

คนที่เห็นแต่โทษผู้อื่น คอยแต่เพ่งโทษนั้น
อาสวะก็เพิ่มพูน เขายังไกลจากความสิ้นอาสวะ
[ขุ.ธ. ๒๕/๔๙]
amtis
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 68



ดูรายละเอียด
« ตอบ #3 เมื่อ: 27 เมษายน 2011, 00:42:37 »

 wanwan017 ขอบคุณค่าา จะลองไปเขียนดูอีกครั้งค่าาาาา
บันทึกการเข้า
amtis
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 68



ดูรายละเอียด
« ตอบ #4 เมื่อ: 27 เมษายน 2011, 01:47:12 »

พอจะมีวิธีอื่นอีกหรือเปล่าคะ wanwan004
บันทึกการเข้า
kudjung
สมุนแก๊งเสียว
*

พลังน้ำใจ: 45
ออฟไลน์ ออฟไลน์

กระทู้: 984



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 27 เมษายน 2011, 11:43:37 »

พอจะมีวิธีอื่นอีกหรือเปล่าคะ wanwan004

ไม่ต้อง mod rewrite ง่ายกว่าส่งค่าแบบ  ?action=cat_list&cat_name=สมุนไพร แค่นี้ก็ดีแล้วครับ
หลังๆผมก็ยังเลิกใช้เลย เพราะภาษาไทยมันมีปัญหากับ facebook มัน add หน้านั้นเข้า facebook ไม่ได้ เพราะ URL มันยาวเกิน
บันทึกการเข้า

klockwork
ก๊วนเสียว
*

พลังน้ำใจ: 16
ออฟไลน์ ออฟไลน์

กระทู้: 224



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 27 เมษายน 2011, 13:21:03 »

พอจะมีวิธีอื่นอีกหรือเปล่าคะ wanwan004

ไม่ต้อง mod rewrite ง่ายกว่าส่งค่าแบบ  ?action=cat_list&cat_name=สมุนไพร แค่นี้ก็ดีแล้วครับ
หลังๆผมก็ยังเลิกใช้เลย เพราะภาษาไทยมันมีปัญหากับ facebook มัน add หน้านั้นเข้า facebook ไม่ได้ เพราะ URL มันยาวเกิน

เห็นด้วยกับคุณ kudjung ครับ

ไม่ก็ rewrite แต่เป็น url ภาษาอังกฤษครับ

ขอโทษครับที่ตอบไม่ถูกคำถาม wanwan017
บันทึกการเข้า

mikeyx
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 271
ออฟไลน์ ออฟไลน์

กระทู้: 4,044



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 27 เมษายน 2011, 13:32:45 »

ผมไม่ใช้ mod rewrite นะถ้าจะไม่ให้มีตัวเลข

ในตารางเพิ่มฟิวมาอีกหนึ่งอันที่ก็บ URL ไปเลย

เวลาเก็บก็แปลง url ก่อนเช่น "รบกวนสอบถามเรื่อง-mod-rewrite-ด้วยค่ะ.html"
จะถูกเก็บไว้ เวลาเรียกใช้งานก็ ใช้คำสั่ว where url='$_GET[url]' ไปเลยครับ

เขียนเช็คด้วยนะถ้ามันซ้ำกัน ก็ให้เป็น "รบกวนสอบถามเรื่อง-mod-rewrite-ด้วยค่ะ-1.html"
"รบกวนสอบถามเรื่อง-mod-rewrite-ด้วยค่ะ-2.html"

แต่ที่ผมไม่เชคคือำเว็บปั่น 1 เว็บมี 5 บทความไม่ต้อเขียนโปรแกรมให้ยุ่งยาก  wanwan004 ที่จริง html เลยก็ได้แต่มันเสียเวลาเปลี่ยน template ใหม่
บันทึกการเข้า
amtis
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 68



ดูรายละเอียด
« ตอบ #8 เมื่อ: 27 เมษายน 2011, 16:57:22 »

ผมไม่ใช้ mod rewrite นะถ้าจะไม่ให้มีตัวเลข

ในตารางเพิ่มฟิวมาอีกหนึ่งอันที่ก็บ URL ไปเลย

เวลาเก็บก็แปลง url ก่อนเช่น "รบกวนสอบถามเรื่อง-mod-rewrite-ด้วยค่ะ.html"
จะถูกเก็บไว้ เวลาเรียกใช้งานก็ ใช้คำสั่ว where url='$_GET[url]' ไปเลยครับ

เขียนเช็คด้วยนะถ้ามันซ้ำกัน ก็ให้เป็น "รบกวนสอบถามเรื่อง-mod-rewrite-ด้วยค่ะ-1.html"
"รบกวนสอบถามเรื่อง-mod-rewrite-ด้วยค่ะ-2.html"

แต่ที่ผมไม่เชคคือำเว็บปั่น 1 เว็บมี 5 บทความไม่ต้อเขียนโปรแกรมให้ยุ่งยาก  wanwan004 ที่จริง html เลยก็ได้แต่มันเสียเวลาเปลี่ยน template ใหม่


ขอบคุณมากค่ะ สำหรับคำตอบ จะลองกลับไปทำดูนะคะ  wanwan017
บันทึกการเข้า
amtis
Newbie
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 68



ดูรายละเอียด
« ตอบ #9 เมื่อ: 27 เมษายน 2011, 16:58:26 »

ขอบคุณทุก ๆ คำตอบนะคะ  wanwan019 คลายปมปัญหาที่ติดมาหลายวันได้บางส่วนเลยค่ะ  wanwan017
บันทึกการเข้า
ohmohm
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 170
ออฟไลน์ ออฟไลน์

กระทู้: 3,092



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 28 เมษายน 2011, 12:33:05 »

แบบนี้ได้ไหม

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /?action=cat_list&cat_name=$1&menu=2&cat=1 [L]
RewriteRule ^([^/]*)\.html/([1-9][0-9]*)$ /?action=cat_list&cat_name=$1&menu=2&cat=$2 [L]

--www.adcshop.com/สมุนไพร.html
--www.adcshop.com/สมุนไพร.html/1
--www.adcshop.com/สมุนไพร.html/10
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์