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

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

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[Mod_Rewrite] เขียนยังไงให้มันสนใจเฉพาะสองวรรคแรกครับ ?
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [Mod_Rewrite] เขียนยังไงให้มันสนใจเฉพาะสองวรรคแรกครับ ?  (อ่าน 965 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
UnzO
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,872



ดูรายละเอียด เว็บไซต์
« เมื่อ: 23 กันยายน 2009, 03:04:36 »

คือผมมี 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))/

ใครพอจะมีแนวทางบ้างครับ  Tongue
« แก้ไขครั้งสุดท้าย: 23 กันยายน 2009, 03:34:30 โดย UnzO » บันทึกการเข้า
ohmohm
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 3,098



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 23 กันยายน 2009, 18:55:58 »

ผมว่า . ใน (.*) น่าจะรวมถึงตัวอักษร / เองด้วย เวลามี / เยอะๆ mod_rewrite มันคงแปลงแบบงงงง
เปลี่ยน (.*) เป็น ([^/]*) หรือ ([^/]+) น่าจะหาย ยังไม่ได้ลองเองนะครับ ใช้ * ยอมข้อความว่างๆ ด้วย ( คือยอม // ) แต่ + ต้องยาวอย่างน้อย 1 ตัวอักษร
http://corz.org/serv/tricks/htaccess2.php
บันทึกการเข้า
VaKimZa
Verified Seller
สมุนแก๊งเสียว
*

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

กระทู้: 549



ดูรายละเอียด
« ตอบ #2 เมื่อ: 23 กันยายน 2009, 19:02:05 »

รวบรวมประโยคที่น่าสนใจ มาไว้ต้นๆ ก่อนแต่ยังไม่ต้องเฉลยเนื้อหา  Cry
บันทึกการเข้า

จำหน่าย Dell PowerEdge R210 II 1240v3 3.40 GHz Ram 8GB HDD 1 TB เพียง 35,900 บาท

รับวางเซิร์ฟเวอร์ Co-Location @ Cs Loxinfo CyberWorld (รัชดา) เพียง 2,500 บาท/เดือน

รับจ้าง Config Server จูนขั้นเทพ รับประกัน เร็ว แร๊ง รองรับขึ้น ( มีผลงาน Report ลูกค้า )

WebSite : WWW.FEVER-HOSTING.COM
ohmohm
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 3,098



ดูรายละเอียด เว็บไซต์
« ตอบ #3 เมื่อ: 23 กันยายน 2009, 19:13:39 »

รวบรวมประโยคที่น่าสนใจ มาไว้ต้นๆ ก่อนแต่ยังไม่ต้องเฉลยเนื้อหา  :'(
Huh?  ต้องการตอบกระทู้นี้หรือเปล่า http://www.thaiseoboard.com/index.php/topic,80024.20.html
บันทึกการเข้า
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 23 กันยายน 2009, 19:28:29 »

รวบรวมประโยคที่น่าสนใจ มาไว้ต้นๆ ก่อนแต่ยังไม่ต้องเฉลยเนื้อหา  :'(
Huh?  ต้องการตอบกระทู้นี้หรือเปล่า http://www.thaiseoboard.com/index.php/topic,80024.20.html


สงสัยเหมือนกัน

=====================

ตอบ จขกท.
ต้องถามก่อนว่า EEE000125F  EEE********F มันเป็นค่าคงที่แบบนี้หรือปล่าวแล้วเปลี่ยนแต่ตัวเลข
ถ้าแบบนี้ก็ ลอง (EEE[0-9]+F) แทน (.*) ดูนะคครับ
แต่ถ้าไม่ ก็ลอง ([A-Z0-9]+) แทน (.*) นะครับ

แต่ถ้ามากกว่านี้ ก็ลองศึกษาเพิ่มดูเกี่ยวกับ Regex นะครับ

ปล.ผมก็ งู ๆ ปลา ๆ  Tongue
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 23 กันยายน 2009, 19:33:48 »

ผมว่า . ใน (.*) น่าจะรวมถึงตัวอักษร / เองด้วย เวลามี / เยอะๆ mod_rewrite มันคงแปลงแบบงงงง
เปลี่ยน (.*) เป็น ([^/]*) หรือ ([^/]+) น่าจะหาย ยังไม่ได้ลองเองนะครับ ใช้ * ยอมข้อความว่างๆ ด้วย ( คือยอม // ) แต่ + ต้องยาวอย่างน้อย 1 ตัวอักษร
http://corz.org/serv/tricks/htaccess2.php


แนะนำตามวิธีนี้เลย
บันทึกการเข้า

UnzO
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,872



ดูรายละเอียด เว็บไซต์
« ตอบ #6 เมื่อ: 23 กันยายน 2009, 21:51:38 »

ผมว่า . ใน (.*) น่าจะรวมถึงตัวอักษร / เองด้วย เวลามี / เยอะๆ mod_rewrite มันคงแปลงแบบงงงง
เปลี่ยน (.*) เป็น ([^/]*) หรือ ([^/]+) น่าจะหาย ยังไม่ได้ลองเองนะครับ ใช้ * ยอมข้อความว่างๆ ด้วย ( คือยอม // ) แต่ + ต้องยาวอย่างน้อย 1 ตัวอักษร
http://corz.org/serv/tricks/htaccess2.php


ขอบคุณครับ ป๋าาา  Smiley

ป๋านี่ช่วยผมตลอดเลยนะ อิอิ

รวบรวมประโยคที่น่าสนใจ มาไว้ต้นๆ ก่อนแต่ยังไม่ต้องเฉลยเนื้อหา  :'(
Huh?  ต้องการตอบกระทู้นี้หรือเปล่า http://www.thaiseoboard.com/index.php/topic,80024.20.html


สงสัยเหมือนกัน

=====================

ตอบ จขกท.
ต้องถามก่อนว่า EEE000125F  EEE********F มันเป็นค่าคงที่แบบนี้หรือปล่าวแล้วเปลี่ยนแต่ตัวเลข
ถ้าแบบนี้ก็ ลอง (EEE[0-9]+F) แทน (.*) ดูนะคครับ
แต่ถ้าไม่ ก็ลอง ([A-Z0-9]+) แทน (.*) นะครับ

แต่ถ้ามากกว่านี้ ก็ลองศึกษาเพิ่มดูเกี่ยวกับ Regex นะครับ

ปล.ผมก็ งู ๆ ปลา ๆ  Tongue

อันที่จริงตรงนั้น มันไม่มีปัญหาครับ มันจะมีปัญหาตรง ข้อความที่หลังจากนั้นแหละครับ ส่วนวรรคที่สองนั้น มันมีจำนวนคงที่ และก็เปลี่ยนแปลงทั้งหมดเลยครับ
ผมว่า . ใน (.*) น่าจะรวมถึงตัวอักษร / เองด้วย เวลามี / เยอะๆ mod_rewrite มันคงแปลงแบบงงงง
เปลี่ยน (.*) เป็น ([^/]*) หรือ ([^/]+) น่าจะหาย ยังไม่ได้ลองเองนะครับ ใช้ * ยอมข้อความว่างๆ ด้วย ( คือยอม // ) แต่ + ต้องยาวอย่างน้อย 1 ตัวอักษร
http://corz.org/serv/tricks/htaccess2.php


แนะนำตามวิธีนี้เลย

ครับผมลองดูแล้วครับ ใช้ได้ครับ ลองมานั่งวิเคราะห์ดู มันมีปัญหากับ %2F ซึ่งก็คือ / ครับ

มันเลยมองว่า เป็นวรรค อีกอันนึ่ง พูดๆ ไปแล้ว งง แต่ตอนนี้แก้ได้แล้วครับ แหะๆ เขียนให้มัน repleace จาก / ให้เป็น - ก็หายเหมือนกัน แต่ URL ที่ gg มันเก็บไปแล้ว มันจะ Error เลยต้องแก้ htaccess ใหม่ด้วยเหมือนกัน ขอบคุณมากครับ ทุกท่าน  Smiley
บันทึกการเข้า
หน้า: [1]   ขึ้นบน
พิมพ์