ThaiSEOBoard.com

พัฒนาเว็บไซต์ => Programming => ข้อความที่เริ่มโดย: amtis ที่ 26 เมษายน 2011, 23:58:53



หัวข้อ: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: amtis ที่ 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 จะมีวิธีหรือเปล่าคะ

รบกวนผู้รู้ด้วยนะคะ ขอบคุณมาก ๆ ค่ะ


หัวข้อ: Re: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: kudjung ที่ 27 เมษายน 2011, 00:09:13
คงต้องเขียนโปรแกรมในส่วนของ php ดักค่า cat_name ที่ได้ไปตรวจสอบกับฐานข้อมูลเพื่อหาค่า cat id แต่ถ้าชื่อ cat_name ซ้ำกันก็ซวยไป  :P :P


หัวข้อ: Re: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: Pang25441 ที่ 27 เมษายน 2011, 00:13:41
สมุนไพร-1-2.html / สมุนไพร-2-4.html

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


หัวข้อ: Re: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: amtis ที่ 27 เมษายน 2011, 00:42:37
 :wanwan017: ขอบคุณค่าา จะลองไปเขียนดูอีกครั้งค่าาาาา


หัวข้อ: Re: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: amtis ที่ 27 เมษายน 2011, 01:47:12
พอจะมีวิธีอื่นอีกหรือเปล่าคะ :wanwan004:


หัวข้อ: Re: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: kudjung ที่ 27 เมษายน 2011, 11:43:37
พอจะมีวิธีอื่นอีกหรือเปล่าคะ :wanwan004:

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


หัวข้อ: Re: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: klockwork ที่ 27 เมษายน 2011, 13:21:03
พอจะมีวิธีอื่นอีกหรือเปล่าคะ :wanwan004:

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

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

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

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


หัวข้อ: Re: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: mikeyx ที่ 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 ใหม่


หัวข้อ: Re: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: amtis ที่ 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:


หัวข้อ: Re: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: amtis ที่ 27 เมษายน 2011, 16:58:26
ขอบคุณทุก ๆ คำตอบนะคะ  :wanwan019: คลายปมปัญหาที่ติดมาหลายวันได้บางส่วนเลยค่ะ  :wanwan017:


หัวข้อ: Re: รบกวนสอบถามเรื่อง mod rewrite ด้วยค่ะ
เริ่มหัวข้อโดย: ohmohm ที่ 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