คือผมมี URL แบบนี้ครับ
http://localhost/view/EEE000125F/Bla-Bla/Bla-Bla/
ผมอยากได้เฉพาะ EEE000125F ออกมาหน่ะครับ
ที่ผมเขียนไว้เป็นแบบนี้
RewriteRule ^view/(.*)/(.*)/$ /detail.php?itemid=$1 [L]
แต่พอเวลาที่มันมีพวก อักษร ยาวๆ มันจะ Error หาหน้า Page ไม่เจอครับเช่นอันนี้
http://mydomain.com/view/0470038306/Outlook-2007-For-Dummies-(For-Dummies-(Computer%2FTech))/
ใครพอจะมีแนวทางบ้างครับ :P
ผมว่า . ใน (.*) น่าจะรวมถึงตัวอักษร / เองด้วย เวลามี / เยอะๆ mod_rewrite มันคงแปลงแบบงงงง
เปลี่ยน (.*) เป็น ([^/]*) หรือ ([^/]+) น่าจะหาย ยังไม่ได้ลองเองนะครับ ใช้ * ยอมข้อความว่างๆ ด้วย ( คือยอม // ) แต่ + ต้องยาวอย่างน้อย 1 ตัวอักษร
http://corz.org/serv/tricks/htaccess2.php
รวบรวมประโยคที่น่าสนใจ มาไว้ต้นๆ ก่อนแต่ยังไม่ต้องเฉลยเนื้อหา :'(
อ้างถึงจาก: VaKimZa ใน 23 กันยายน 2009, 19:02:05
รวบรวมประโยคที่น่าสนใจ มาไว้ต้นๆ ก่อนแต่ยังไม่ต้องเฉลยเนื้อหา :'(
??? ต้องการตอบกระทู้นี้หรือเปล่า http://www.thaiseoboard.com/index.php/topic,80024.20.html
อ้างถึงจาก: ohmohm ใน 23 กันยายน 2009, 19:13:39
อ้างถึงจาก: VaKimZa ใน 23 กันยายน 2009, 19:02:05
รวบรวมประโยคที่น่าสนใจ มาไว้ต้นๆ ก่อนแต่ยังไม่ต้องเฉลยเนื้อหา :'(
??? ต้องการตอบกระทู้นี้หรือเปล่า http://www.thaiseoboard.com/index.php/topic,80024.20.html
สงสัยเหมือนกัน
=====================
ตอบ จขกท.
ต้องถามก่อนว่า EEE000125F EEE********F มันเป็นค่าคงที่แบบนี้หรือปล่าวแล้วเปลี่ยนแต่ตัวเลข
ถ้าแบบนี้ก็ ลอง (EEE[0-9]+F) แทน (.*) ดูนะคครับ
แต่ถ้าไม่ ก็ลอง ([A-Z0-9]+) แทน (.*) นะครับ
แต่ถ้ามากกว่านี้ ก็ลองศึกษาเพิ่มดูเกี่ยวกับ Regex นะครับ
ปล.ผมก็ งู ๆ ปลา ๆ :P
อ้างถึงจาก: ohmohm ใน 23 กันยายน 2009, 18:55:58
ผมว่า . ใน (.*) น่าจะรวมถึงตัวอักษร / เองด้วย เวลามี / เยอะๆ mod_rewrite มันคงแปลงแบบงงงง
เปลี่ยน (.*) เป็น ([^/]*) หรือ ([^/]+) น่าจะหาย ยังไม่ได้ลองเองนะครับ ใช้ * ยอมข้อความว่างๆ ด้วย ( คือยอม // ) แต่ + ต้องยาวอย่างน้อย 1 ตัวอักษร
http://corz.org/serv/tricks/htaccess2.php
แนะนำตามวิธีนี้เลย
อ้างถึงจาก: ohmohm ใน 23 กันยายน 2009, 18:55:58
ผมว่า . ใน (.*) น่าจะรวมถึงตัวอักษร / เองด้วย เวลามี / เยอะๆ mod_rewrite มันคงแปลงแบบงงงง
เปลี่ยน (.*) เป็น ([^/]*) หรือ ([^/]+) น่าจะหาย ยังไม่ได้ลองเองนะครับ ใช้ * ยอมข้อความว่างๆ ด้วย ( คือยอม // ) แต่ + ต้องยาวอย่างน้อย 1 ตัวอักษร
http://corz.org/serv/tricks/htaccess2.php
ขอบคุณครับ ป๋าาา :)
ป๋านี่ช่วยผมตลอดเลยนะ อิอิ
อ้างถึงจาก: pugkung ใน 23 กันยายน 2009, 19:28:29
อ้างถึงจาก: ohmohm ใน 23 กันยายน 2009, 19:13:39
อ้างถึงจาก: VaKimZa ใน 23 กันยายน 2009, 19:02:05
รวบรวมประโยคที่น่าสนใจ มาไว้ต้นๆ ก่อนแต่ยังไม่ต้องเฉลยเนื้อหา :'(
??? ต้องการตอบกระทู้นี้หรือเปล่า http://www.thaiseoboard.com/index.php/topic,80024.20.html
สงสัยเหมือนกัน
=====================
ตอบ จขกท.
ต้องถามก่อนว่า EEE000125F EEE********F มันเป็นค่าคงที่แบบนี้หรือปล่าวแล้วเปลี่ยนแต่ตัวเลข
ถ้าแบบนี้ก็ ลอง (EEE[0-9]+F) แทน (.*) ดูนะคครับ
แต่ถ้าไม่ ก็ลอง ([A-Z0-9]+) แทน (.*) นะครับ
แต่ถ้ามากกว่านี้ ก็ลองศึกษาเพิ่มดูเกี่ยวกับ Regex นะครับ
ปล.ผมก็ งู ๆ ปลา ๆ :P
อันที่จริงตรงนั้น มันไม่มีปัญหาครับ มันจะมีปัญหาตรง ข้อความที่หลังจากนั้นแหละครับ ส่วนวรรคที่สองนั้น มันมีจำนวนคงที่ และก็เปลี่ยนแปลงทั้งหมดเลยครับ
อ้างถึงจาก: EThaiZone ใน 23 กันยายน 2009, 19:33:48
อ้างถึงจาก: ohmohm ใน 23 กันยายน 2009, 18:55:58
ผมว่า . ใน (.*) น่าจะรวมถึงตัวอักษร / เองด้วย เวลามี / เยอะๆ mod_rewrite มันคงแปลงแบบงงงง
เปลี่ยน (.*) เป็น ([^/]*) หรือ ([^/]+) น่าจะหาย ยังไม่ได้ลองเองนะครับ ใช้ * ยอมข้อความว่างๆ ด้วย ( คือยอม // ) แต่ + ต้องยาวอย่างน้อย 1 ตัวอักษร
http://corz.org/serv/tricks/htaccess2.php
แนะนำตามวิธีนี้เลย
ครับผมลองดูแล้วครับ ใช้ได้ครับ ลองมานั่งวิเคราะห์ดู มันมีปัญหากับ %2F ซึ่งก็คือ / ครับ
มันเลยมองว่า เป็นวรรค อีกอันนึ่ง พูดๆ ไปแล้ว งง แต่ตอนนี้แก้ได้แล้วครับ แหะๆ เขียนให้มัน repleace จาก / ให้เป็น - ก็หายเหมือนกัน แต่ URL ที่ gg มันเก็บไปแล้ว มันจะ Error เลยต้องแก้ htaccess ใหม่ด้วยเหมือนกัน ขอบคุณมากครับ ทุกท่าน :)