A-AA+then

สอบถามการเขียน mod rewrite .htaccess ครับ

2,089
ผมอยากเปลี่ยนจาก url
cate_id 8 == shirt
pro_id 15 == kiorashirts

เวลาพิมพ์ link ว่า
http://www.aaa.com/product/8/shirt/15/kiora-shirts/ => http://www.aaa.com/product.php?cate_id=&cate_name=&pro_id=&pro_name=

แต่ปัญหาคือ ผมต้องการเปลี่ยนอีกรอบ จาก
http://www.aaa.com/product/8/shirt/15/kiora-shirts/ ไปเป็น http://www.aaa.com/kiora-shirts/

ผมต้องเขียนอีกบรรทัดยังไงครับ

มึนไปหมดแล้ว>< รบกวนช่วยทีครับผม

8 ความคิดเห็น

ช่วยมึนด้วยอีกคน....:46:
1

2

อ้างจากคำตอบที่ #2- -" ประมาณว่า ถ้าผมต้องการเปลี่ยนเวลามีการเรียก url

http://www.aaa.com/product/8/shirt/15/kiora-shirts/ ไปเป็น http://www.aaa.com/kiora-shirts/

ต้องเขียน htaccess ยังไงบ้างอะครับ

น่าจะประมาณนี้ RewriteRule ^[0-9]+\/[a-z]+\/[0-9]+\/(.*)$ // [R,L]

แต่ดูไม่ค่อยสมเหตุสมผลเลยครับ เพราะการแปลง URL แบบนี้ไม่น่าจะมีประโยชน์อะไร...

การใช้ mod_rewrite เขาใช้สำหรับการ แปลง URL ขาเข้าครับ ไม่ได้ใช้แปลง URL ภายในเว็บ ถ้าต้องการแปลง URL ภายในเว็บต้องแก้ไขที่ตัว script ครับ เพราะ mod_rewrite จะสามารถแปลงจาก http://www.aaa.com/product/8/shirt/15/kiora-shirts/ ให้เป็น http://www.aaa.com/index.php?cat=8&id=15 ซึ่งจะสามารถใช้สำหรับการ query ข้อมูลมาแสดงได้
3

อ่อขอบคุณอาจารย์มากครับผม

ผมสงสัยกับ url แบบนีอ้่ะครับ

http://holidayvillasamui.com/villa-acacia-miskawan/

นี่คือ เขาเอา villa-acacia-miskawan ไป query หาข้อมูลหรอครับ ผมไม่เห็น การส่ง id ผ่าน url นี้เลย

เขามีการกำหนดที่หลังบ้านว่า ชื่อ url เปน villa-acacia-miskawan ลงในฐานข้อมูล แล้วเมื่อมี url
http://holidayvillasamui.com/villa-acacia-miskawan/ เข้ามา เขาเอาชื่อนี้ villa-acacia-miskawan ไป query หาใช่ไหมครับ

ผมสงสัยว่า มันไม่ได้ where ด้วย id จะมีผลเสียอะไรมากไหมครับ จะช้ากว่าเดิมมากหรือป่าว ประมาณนี้ครับอาจารย์
4

ใช่ครับ เขาก็เอาชื่อที่ส่งมาไปทำการ query หน้าเว็บเลย

ส่วนผลเสีย มันก็อาจจะด้อยกว่า การใช้ id อีตรงที่ความเร็วนี่แหละครับ แต่ก้ไม่ได้มากมายจนถึงกับรับไม่ได้ เพราะเราอาจต้องกำหนดชื่อนี้ให้เป็น UNIQE เนื่องจากมันต้องใช้รายการนี้ในการค้นหา ซึ่งก็ทำให้ความเร็วไม่ได้ด้อยลงไปนักก้ได้ครับ
5

กระจ่างครับผม คำถามสุดท้ายครับ

ถ้าผม query ชื่อภาษาไทย มา แสดงเปน url ผมต้องใช้ function ไหน convert ก่อนครับผม
6

ปกติแล้วไม่ต้อง...ถ้าทุกอย่างถูกต้อง

ส่วนทุกอย่างจะถูกต้องมั้ย คงต้องทดลองดูละครับ เพราะมันขึ้นกับการออกแบบของแต่ละคน

โดยส่วนตัว บนเว็บผม ทุกอย่างเป็น UTF-8 ดังนั้นค่าที่ส่งมาก็สามารถนำไป query ได้เลย (แนวคิด ก็หลักเดียวกับการค้นหา บนเว็บละครับ ถ้าเว็บเราค้นหาได้ การ query แบบนี้ก็คือการค้นหาเฉพาะ หัวข้อเว็บ แค่นั้น)
7

ขอบคุณสำหรับคำตอบมากๆครับอาจารย์

ปัญหาที่ผมเจอล่าสุดคือ

html ที่มีการเรียก css file <link href="css/style.css"> หรือ script หรือ image upload ที่มีการเรียกอย่างนี้ เสียหมดเลยครับ

ทางแก้ทางอื่นรนอกจากเรียกเป็น path เต็มพอจะมีไหมครับผม
8
^