ขอปรึกษาการใช้งาน .htaccess กับร้านค้าครับ

เริ่มโดย unowen, 05 กุมภาพันธ์ 2010, 11:15:32

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

unowen

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

เวิกแน่นอนครับ ใช้ htaccess อย่างน้อยก็ดีกว่าแบบไม่ใช้ครับ
[direct=https://cloudhost.in.th/wordpress-hosting]ツ ⓌⓄⓇⒹⓅⓇⒺⓈⓈ ⒽⓄⓈⓉⒾⓃⒼ [/direct] :wanwan014:  :D
[direct=https://cloudhost.in.th/cloudhosting.html]Cloud Hosting[/direct] [direct=https://cloudhost.in.th/cloudvps.html]Cloud Server[/direct] [direct=https://cloudhost.in.th/vpshosting.html]Cloud VPS Hosting[/direct] [direct=https://cloudhost.in.th/windowsvps.html]Cloud Windows[/direct] Tel: 080-348-0843 LINE: ixvlnw

woratana

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

แต่ไม่ค่อยน่ากังวลเท่าไรเพราะเซิร์ฟเวอร์เป็นคนอ่าน ความเร็วน่าจะแทบไม่รู้สึกเลย  :-[
[direct=http://www.designil.com/contact-us]DesignIL เรียนเทคนิคเว็บดีไซน์ใหม่ ๆ ฟรี!! รับทำเว็บไซต์ เว็บดีไซน์ ธีม WordPress
[direct=http://www.designil.com/]DesigNIL: สอนออกแบบเว็บไซด์ Web Design HTML5 CSS3
[/direct]

IzeSem

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

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



???
[direct=https://cloudhost.in.th/wordpress-hosting]ツ ⓌⓄⓇⒹⓅⓇⒺⓈⓈ ⒽⓄⓈⓉⒾⓃⒼ [/direct] :wanwan014:  :D
[direct=https://cloudhost.in.th/cloudhosting.html]Cloud Hosting[/direct] [direct=https://cloudhost.in.th/cloudvps.html]Cloud Server[/direct] [direct=https://cloudhost.in.th/vpshosting.html]Cloud VPS Hosting[/direct] [direct=https://cloudhost.in.th/windowsvps.html]Cloud Windows[/direct] Tel: 080-348-0843 LINE: ixvlnw

Kobsoft

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

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

unowen

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



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

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



#3 คุณ IzeSem ครับ
อันนี้ไม่แน่ใจเหมือนกันอ่ะ ผมก็มือใหม่ mod_rewrite เหมือนกัน  :P
แต่เท่าที่อ่านใน 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 อยู่ดีน่ะครับ  :P

== == == มือใหม่ครับ == == ==

IzeSem

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


woratana

#8
อ้างถึงจาก: xvlnw.com ใน 05 กุมภาพันธ์ 2010, 14:40:34
ผมก็พึ่งรู้มาำไม่นานนี้เองครับ ว่ามันอ่านคำสั่งจากล่าง ขึ้นบน



???

พิมพ์ผิด  :o
ผิดทีไปไกลเลย  :P สรุปว่าอ่านจาก "บน" ลง "ล่าง" นะครับ  :-[

วิธีที่ใช้กัน htaccess ดักอย่างอื่นนอกจากหน้าเว็บนะครับ ผมใช้วิธีเขียน htaccess มาตั้งให้โฟลเดอร์บางโฟลเดอร์สามารถเข้าได้ปกติครับ
[direct=http://www.designil.com/contact-us]DesignIL เรียนเทคนิคเว็บดีไซน์ใหม่ ๆ ฟรี!! รับทำเว็บไซต์ เว็บดีไซน์ ธีม WordPress
[direct=http://www.designil.com/]DesigNIL: สอนออกแบบเว็บไซด์ Web Design HTML5 CSS3
[/direct]

kitazawa1st

อ้างถึงจาก: IzeSem ใน 05 กุมภาพันธ์ 2010, 15:58:29
ขอบคุณครับ
ว่าแต่ $ มันคืออะไรหลัง 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
เล็กสั้น ขยันซอย