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

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

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

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

กระทู้: 2



ดูรายละเอียด
« เมื่อ: 05 กุมภาพันธ์ 2010, 11:15:32 »

search ด้วย keyword .htaccess แล้วไม่เจอกระทู้ใกล้เคียง
ขออนุมานเอาว่ายังไม่มีคนตั้งละกันนะครับ 
wanwan017


เข้าเรื่อง ... ต้องการทำ URL freindly ครับ เนื่องจาก product variation มีปริมาณไม่มากนัก
(สมมติว่า product เป็น กางเกงยีนส์ , variation มียี่ห้อ / สี ทั้งหมดราวๆ 50 page )
+ บทความของเว็บไซท์ราวๆ 30 page
มีโอกาสจะเพิ่ม product ใหม่ๆเข้ามาบ้าง แต่ไม่น่าจะเกินปีละ 6 page


คำถามคือ "ถ้าเขียน .htaccess ให้ Rewrite URL สำหรับทุก page ของ product / บทความเลย
server load จะหนักไปไหมครับ" เช่น

โค๊ด:
...
RewriteRule ^levis-navy-501.html$ product_detail.php?id=10
RewriteRule ^levis-darkblue-501.html$ product_detail.php?id=12
RewriteRule ^mac-darkblue-bell-bottoms.html$ product_detail.php?id=14
RewriteRule ^how-to-choose-you-best-jeans.html$ article.php?id=1
...


เท่าที่ลองหาข้อมูลมาอ่านดู  ไม่ได้พูดถึงกรณีความยาวของ .htaccess และ
performance ของระบบในกรณีนี้มากนัก
ถ้าจะพูดก็มีบ้างว่า ทำไมถึงควรใช้ / ไม่ควรใช้กันไปเลย อย่าง
โค๊ด:
http://httpd.apache.org/docs/1.3/howto/htaccess.html



ส่วนตัว คิดว่าในทางทฤษฎี มีความเป็นไปได้
แต่สงสัยว่าจะ work ในเชิงการใช้งานจริงไหมครับ



ขอบคุณครับ
 wanwan012
บันทึกการเข้า

== == == มือใหม่ครับ == == ==
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 05 กุมภาพันธ์ 2010, 11:22:07 »

เวิกแน่นอนครับ ใช้ htaccess อย่างน้อยก็ดีกว่าแบบไม่ใช้ครับ
บันทึกการเข้า

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

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

กระทู้: 2,283



ดูรายละเอียด เว็บไซต์
« ตอบ #2 เมื่อ: 05 กุมภาพันธ์ 2010, 14:13:52 »

ไม่น่าหนักมากครับ คือ htaccess ก็อ่านเหมือนไฟล์เว็บทั่วไปแหละครับ คืออ่านจากบนลงล่าง
ถ้าไฟล์ htaccess มันใหญ่มาก ๆ แล้วเซิร์ฟอืดมาก ๆ ก็อาจมีปัญหาครับ

แต่ไม่ค่อยน่ากังวลเท่าไรเพราะเซิร์ฟเวอร์เป็นคนอ่าน ความเร็วน่าจะแทบไม่รู้สึกเลย  Embarrassed
« แก้ไขครั้งสุดท้าย: 05 กุมภาพันธ์ 2010, 23:36:40 โดย woratana » บันทึกการเข้า

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

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

กระทู้: 1,386



ดูรายละเอียด
« ตอบ #3 เมื่อ: 05 กุมภาพันธ์ 2010, 14:33:42 »

1) RewriteRule ^([_a-zA-Z0-9-]+)-([_a-zA-Z0-9-]+).html product.php?pid=$2

2) RewriteRule ^([_a-zA-Z0-9-]+)-([_a-zA-Z0-9-]+).html$ product.php?pid=$2 [L]

ต่างกันไหมครับ $ และ [L] มันคือไรจำเป็นไหม
บันทึกการเข้า
xvlnw.com
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

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

กระทู้: 5,905



ดูรายละเอียด เว็บไซต์
« ตอบ #4 เมื่อ: 05 กุมภาพันธ์ 2010, 14:40:34 »

ผมก็พึ่งรู้มาำไม่นานนี้เองครับ ว่ามันอ่านคำสั่งจากล่าง ขึ้นบน



Huh?
บันทึกการเข้า

Kobsoft
Verified Seller
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,574



ดูรายละเอียด
« ตอบ #5 เมื่อ: 05 กุมภาพันธ์ 2010, 15:29:49 »

 wanwan009 ดูจากโค้ดที่เขียนมาแล้ว ถ้าเทคนิคดีๆ ไม่จำเป็นต้องเขียน static mod_rewrite อย่างงั้นนะคับ เราก็แค่สร้างชื่อสินค้าเป็น Pattern ใน db ของเราแล้วดึงมาใช้เป็น url จากนั้นสำหรับใน .htaccess เราก็เขียน mod_rewrite มารองรับ pattern นั้นแค่บรรทัดเดียวพอ

เพราะถ้าไม่อย่างนั้นแล้วเวลาเพิ่มสินค้าก็ต้องมานั่งเติม .htaccess ทุกครั้งใช่ไหมคับ (ถ้าผมเข้าใจไม่ผิด)
บันทึกการเข้า
unowen
Newbie
*

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

กระทู้: 2



ดูรายละเอียด
« ตอบ #6 เมื่อ: 05 กุมภาพันธ์ 2010, 15:51:08 »

#1 คุณ xvlnw.com ครับ
ใน link บอกว่า จริงๆแล้วถ้าไม่จำเป็น ไม่ควรใช้ครับ เพราะมัน .htaccess override server security  และมันมี overhead ระดับหนึ่ง
แต่ไหนๆ ก็เช่า host เขาแล้ว เอาให้คุ้มละกัน  Embarrassed
ถ้าโหลดมาก / ไปสร้างช่องโหว่ให้เขา  เขาก็เฉดหัวเราออกมาเองแหละ  Tongue


#2 คุณ woratana ครับ
เรื่องอ่านไฟล์จากข้างล่างขึ้นบน อันนี้ความรู้ใหม่เลยนะครับ  ขอ reference หน่อยได้ไหมครับ

อันนี้ที่กังวลก็คือ ผมเข้าใจเอาเองว่า "ทุกๆ" request ที่ส่งมาที่ server จะโดน .htaccess ดัก
นั่นก็คือ ทั้งรูป ทั้ง css ทั้ง js  จะโดน overhead ของ .htaccess กินหมด
เนื่องจากเป็นเวบไซท์ขายของ   รูปมันเยอะมากเลยครับ  เลยกังวลนิดหน่อย :'(


#3 คุณ IzeSem ครับ
อันนี้ไม่แน่ใจเหมือนกันอ่ะ ผมก็มือใหม่ mod_rewrite เหมือนกัน  Tongue
แต่เท่าที่อ่านใน cheat sheet เนี่ย [L] คือการกำหนดว่า rule นี้จะเป็น last rule
และถ้าเงื่อนไขตรงแล้วจะไม่ check condition ในลำดับต่อๆไปอีก


ลองดู รายละเอียดตาม cheat sheet ที่ผมใช้อยู่ตามนี้ครับ
โค๊ด:
http://www.addedbytes.com/cheat-sheets/mod_rewrite-cheat-sheet/


#5 คุณ Kobsoft ครับ

จริงๆแล้วตัว shop ที่เขาใช้อยู่เป็น opensource น่ะครับ (ตัวที่ใหญ่ๆ config ได้เยอะๆนั่นแหละครับ)
แล้วก็โดน customize ไปพอสมควรแล้ว  แทนที่จะเป็นเรื่องของ product id ตาม code หลัก
เลยกลายเป็นว่ามีเรื่องของ attribute / custom stock (ที่ customzie) ภายหลังมาเกี่ยวด้วย

จริงๆ เพราะมองว่า จำนวนหน้าจริงๆมันมีไม่มากน่ะครับ และ product / บทความ ก็ไม่ได้ update บ่อย

ผมคิดว่าถ้าให้ system generate product / variant ทั้งหมด โดยมี standard format มาอยู่แล้ว
เช่น
[brand]-[color]-[model]-[product_id].html => product_detail.php?id=[product_id]
แล้วเจ้าของสามารถแก้ไข URL ให้มัน "friendlier" กว่า
เช่น
[brand]-[color]-[model].html (ไม่มี id เลย)  น่าจะดีกว่าน่ะครับ

ส่วนนี้ ได้ idea มาจากที่เขาบอกให้ทำ faq.html ที่ rewrite article.php?id=1
ซึ่งถ้าผมเข้าใจไม่ผิด faq.html น่าจะดูดีกว่า article-faq-1.html อยู่ดีน่ะครับ  Tongue

บันทึกการเข้า

== == == มือใหม่ครับ == == ==
IzeSem
หัวหน้าแก๊งเสียว
*

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

กระทู้: 1,386



ดูรายละเอียด
« ตอบ #7 เมื่อ: 05 กุมภาพันธ์ 2010, 15:58:29 »

ขอบคุณครับ
ว่าแต่ $ มันคืออะไรหลัง html
RewriteRule ^([_a-zA-Z0-9-]+)-([_a-zA-Z0-9-]+).html$ product.php?pid=$2 [L]

บันทึกการเข้า
woratana
หัวหน้าแก๊งเสียว
*

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

กระทู้: 2,283



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 05 กุมภาพันธ์ 2010, 23:35:51 »

ผมก็พึ่งรู้มาำไม่นานนี้เองครับ ว่ามันอ่านคำสั่งจากล่าง ขึ้นบน



Huh?

พิมพ์ผิด  Shocked
ผิดทีไปไกลเลย  Tongue สรุปว่าอ่านจาก "บน" ลง "ล่าง" นะครับ  Embarrassed

วิธีที่ใช้กัน htaccess ดักอย่างอื่นนอกจากหน้าเว็บนะครับ ผมใช้วิธีเขียน htaccess มาตั้งให้โฟลเดอร์บางโฟลเดอร์สามารถเข้าได้ปกติครับ
« แก้ไขครั้งสุดท้าย: 05 กุมภาพันธ์ 2010, 23:45:29 โดย woratana » บันทึกการเข้า

kitazawa1st
สมุนแก๊งเสียว
*

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

กระทู้: 563



ดูรายละเอียด
« ตอบ #9 เมื่อ: 08 กุมภาพันธ์ 2010, 17:57:15 »

ขอบคุณครับ
ว่าแต่ $ มันคืออะไรหลัง html
RewriteRule ^([_a-zA-Z0-9-]+)-([_a-zA-Z0-9-]+).html$ product.php?pid=$2 [L]




^    ใช้แทนรูปแบบที่ขึ้นต้นด้วยคำที่กำหนดในตำแหน่งเริ่มต้นของข้อความ เช่น "^the" จะตรงกับข้อความใดๆ ที่ขึ้นต้นด้วย the
$    ใช้แทนรูปแบบที่ลงท้ายด้วยคำที่กำหนด เช่น "on the table$" จะตรงกับข้อความใดๆ ที่ลงท้ายด้วย on the table
.    ใช้แทนตัวอักษรใดๆ 1 ตัวอักษร ยกเว้น newline (\\n) เช่น "com." จะ ตรงกับ com1 และ coms แต่จะไม่ตรงกับ telecom (เพราะไม่มีตัวอักษรใดต่อท้าย)

http://www.thaiseoboard.com/index.php/topic,3675.0.html
บันทึกการเข้า

เล็กสั้น ขยันซอย
หน้า: [1]   ขึ้นบน
พิมพ์