วันเสาร์ที่ 13 ตุลาคม พ.ศ. 2555

แทรกไฟล์ Flash video (Flv) ลงในเว็บเพจ


แทรกไฟล์ Flash video (Flv) ลงในเว็บเพจ


Dreamweaver

ไฟล์ flv เปิดด้วยโปรแกรม Flash player โชคดีที่ Browser ส่วนใหญ่จะมี flash player ติดมาด้วย 

เราสามารถแปลงจากไฟล์นามสกุลอื่นให้เป็น flv ได้โดยใช้โปรแกรม เช่น โปรแกรม Flash ก็สามารถแปลงได้ หรือในปัจจุบันนี้มีโปรแกรมมากมายที่ทำมาเพื่อรองรับส่วนนี้ 

การแทรกไฟล์ Flash video ในเว็บเพจ
1.เปิดไฟล์ใหม่ขึ้นมา และทำการ save ให้เรียบร้อย หรือเปิดไฟล์ที่ save ไว้เรียบร้อยแล้ว คลิกตำแหน่งที่ต้องการจะแทรก 

2.ไปที่ Insert > Media > Flash video จะมีหน้าต่างดังรูป 



มีรายละเอียดดังนี้

    1.Video type ให้เลือกเป็น progressive จะแสดงผลเมื่อโหลดไฟล์เสร็จเท่านั้น ส่วนแบบ Streaming นั้นเป็นแบบที่สามารถโหลดไฟล์ไปพร้อมกับเล่นไฟล์ได้ แต่จะต้องติดต่อกับผู้ดูแล server ว่าได้เปิดบริการส่วน Streaming server ไว้หรือไม่ 

    2.URL กำหนดตำแหน่งที่เก็บไฟล์ของเราโดยคลิกที่ Browse เพื่อกำหนดไฟล์ที่ต้องการแทรก 

    3.Skin เลือกรูปแบบของส่วนควบคุมการแสดงผลไฟล์วิดีโอ 

    4.height , width กำหนดความสูงให้กับไฟล์ flash ของเรา ตามปรกติถ้าเราไม่ใส่ Dreamweaver จะรู้ขนาดของไฟล์อยู่แล้ว 

    5.Auto play เล่นไฟล์อัตโนมัติเมื่อโหลดเสร็จ 

    6.Auto rewind เล่นซ้ำอัตโนมัติ 

    7.Prompt ถ้าเราเลือกช่องนี้ เมื่อผู้ใช้ไม่มี Flash player จะปรากฏข้อความในช่อง message 


ข้อมูลจาก www.hellomyweb.com

ปัญหาเว็บ Error 301 403 404 503 ฯลฯ มันคืออะไร ?

1xx  หมายถึง  Informational
2xx  หมายถึง  Success
3xx  หมายถึง  Redirection
4xx  หมายถึง  Client Error
5xx  หมายถึง  Server Error

*************************************************

    * 100 Continue (100 ดำเนินการต่อ)

    * 101 Switching Protocols (101 สลับโปรโตคอล) 

    * 200 OK (200 โอเค) 

    * 201 Created (201 สร้างแล้ว) 

    * 202 Accepted (202 ยอมรับแล้ว)

    * 203 Non-Authoritative Information (203 ข้อมูลที่ไม่ผ่านการอนุญาต)

    * 204 No Content (204 ไม่มีเนื้อหา)

    * 205 Reset Content (205 รีเซ็ตเนื้อหา)

    * 206 Partial Content (206 เนื้อหาบางส่วน)

    * 300 Multiple Choices (300 หลายตัวเลือก)

    * 301 Moved Permanently (301 ถูกย้ายถาวร)

    * 302 Moved Temporarily (302 ถูกย้ายชั่วคราว) 

    * 303 See Other (303 ดูอื่นๆ) 

    * 304 Not Modified (304 ไม่ได้แก้ไข)

    * 305 Use Proxy (305 ใช้พร็อกซี่)

    * 400 Bad Request (400 คำขอไม่เหมาะสม) 

    * 401 Authorization Required (401 ต้องได้รับอนุญาต)

    * 402 Payment Required (402 ต้องชำระเงิน)

    * 403 Forbidden (403 ถูกห้าม)

    * 404 Not Found (404 ไม่พบ)

    * 405 Method Not Allowed (405 วิธีการไม่ได้รับอนุญาต)

    * 406 Not Acceptable (406 ไม่สามารถยอมรับได้)

    * 407 Proxy Authentication Required (407 ต้องรับรองความถูกต้องของพร็อกซี่)

    * 408 Request Time-Out (408 คำขอหมดเวลา)

    * 409 Conflict (409 ขัดแย้ง)

    * 410 Gone (ไม่มีอยู่)

    * 411 Length Required (411 ต้องกำหนดความยาว)

    * 412 Precondition Failed (412 ข้อกำหนดขั้นต้นล้มเหลว) 

    * 413 Request Entity Too Large (413 ชื่อคำขอใหญ่เกินไป)

    * 414 Request-URL Too Large (414 URL คำขอใหญ่เกินไป)

    * 415 Unsupported Media Type (415 ประเภทสื่อไม่สนับสนุน)

    * 500 Server Error (500 ข้อผิดพลาดของเซิร์ฟเวอร์)

    * 501 Not Implemented (501 ไมได้นำไปใช้)

    * 502 Bad Gateway (502 เกตเวย์ไม่เหมาะสม)

    * 503 Out of Resources (503 ทรัพยากรไม่เพียงพอ)

    * 504 Gateway Time-Out (504 หมดเวลาเกตเวย์)

    * 505 HTTP Version not supported (505 เวอร์ชัน HTTP ไม่สนับสนุน) 

    * 506 Variant Also Negotiates
    * 507 Insufficient Storage (WebDAV)
    * 509 Bandwidth Limit Exceeded (Apache bw/limited extension)
    * 510 Not Extended

ที่มา 
http://www.thaiseoboard.com/index.php?topic=158078.0

มาทำ Mod_Rewrite เพื่อ SEO กันเถอะ

ตอนนี้มีเว็บไซด์หลายเว็บที่มี URL เป็นภาษาไทย หรือ เป็นคำที่อ่านง่ายกว่าเมื่อก่อนอย่างเห็นได้ชัด เนื่องจาก dynamic URL นั้น นอกจากจะทำให้ไม่รู้เรื่องจำยากแล้ว บรรดา Search Engine ก็ยังไม่ชอบอีกด้วย เพราะฉะนั้นจะช้าอยู่ทำไมมาแก้เว็บแปลงจาก dynamic URL ให้กลายเป็นเพจที่อ่านง่ายๆ จำง่ายๆ และ ดีต่อ SEO กันดีกว่าครับ

Mod_Rewrite คืออะไร?
 

Mod_Rewrite คือการแปลง URL ที่ดูยากให้อยู่ในรูปแบบที่เราต้องการ เพื่อประโยชน์หลายด้าน (ซึ่งจะกล่าวถึงต่อไป) และการแปลงเพื่อ
ประโยชน์ด้าน SEO ก็เป็นอีกอันนึงที่มีการนำเอา Mod_Rewrite มาใช้ เพราะเรารู้กันดีว่า Search Engine ไม่ค่อยชอบ pages ที่เป็น dynamic ที่มี query string ยาวๆๆๆ

บทควาามที่แล้วผมได้แสดงตัวอย่าง dynamic ที่ยาวๆ อันนี้ขึ้นมา

http://www.yousite com/product.php?page_id=41
ว่าให้เปลี่ยนเป็นแบบนี้
http://www.yousite.com/product/shoes/

เริ่มทำ Mod_Rewrite



บาง Server ไม่สามารถจะทำ Mod_Rewrite ได้เนื่องจากไม่ได้ติดตั้ง Module Mod_Rewrite ดังนั้นถ้าเราจำเป็นต้องใช้ Mod_Rewrite ก็ต้องตรวจสอบดีๆก่อนเช่า host


.htaccess ไฟล์สำคัญในการทำ Mod_Rewrite


ไม่รู้ว่ามีใครเป็นเหมือนกับผมมั้ยนะครับเพราะตอนแรกที่ผมจะทำ Mod_Rewrite รุ่นพี่บอกว่าให้ทำไฟล์ .htaccess ขึ้นมาก็นั่ง งง อยู่ว่ามันจะ
อะไร 555+ เพราะเห็นมันเป็นดอทเลยนึกว่าเป็นสกุลไฟล์ สรุปง่ายๆ คือไม่ต้องคิดว่าจะชื่ออะไร หรือ นามสกุลอะไรหรอกครับ เปิด Notepad
หรือถ้าใครใช้ dreamweaver ก็เปิดหน้าใหม่ขึ้นใหม่จะเลือก HTML หรือ PHP หรืออะไรก็ได้ครับ ตอน save ก็ save ว่า .htaccess ได้เลย
เตรียมไฟล์เปล่าๆ ขึ้นมาได้เลยครับ เราจะเริ่มทำ .htaccess ในการกำหนด Rule ของการทำ Mod_Rewrite  พร้อมๆ กัน นะครับ

เริ่มต้นด้วยคำสั่ง RewriteEngine on


เพื่อเปิดการทำงาน เขียนไว้ในบรรทัดแรกสุดของไฟล์
ต่อไปจะเป็นการนำเอา Mod_Rewrite ไปให้งาน ซึ่งผมจะเริ่มด้วยตัวอย่างง่ายๆ และเขียน Rewrite Rule ง่ายก่อน แล้วก็ยกตัวอย่างต่อไปเรื่อยๆนะครับ

ใช้ Mod_Rewrite ในการทำ Redirects


ถ้าเราต้องการเปลี่ยน location เก่า ไปที่ Location ใหม่แบบถาวร
 

RewriteEngine on
RewriteRule ^old\.html$ new.html



ถ้าเราเขียนแบบนี้ เมื่อมีการใส่ url เป็น old.html มันก็จะถูกส่งไปที่ไพล์ new.html แต่ผู้เยี่ยมชมยังเห็น URL บน browser เป็น old.html อยู่เหมือนเดิม

อาจจะดูงงๆ อธิบายเพิ่มเติมดังนี้ RewriteRule จะประกอบด้วยกัน 3 ส่วน 
1. Call to action RewriteRule  ขึ้นต้นบรรทัด กำหนดว่าบรรทัดนี้เป็น Rewrite Rule
2. Pattern  ^old\.html$ เป็นการตรวจสอบ URL ที่ใส่เข้ามาทาง Location Bar ของ Browser ซึ่งจะใช้ regex (Regular Expression) ในการตรวจสอบ (จะอธิบายเพิ่มเติมต่อไป)
3. Rewrite  new.html  เป็น URL ที่เราต้องการให้แปลงเป็นอันใหม่
หมายเหตุ: จริงๆมี 4 ส่วน แต่ในตัวอย่างเราใช้ 3 ส่วน

ขออธิบายในส่วนที่ 2 (Pattern) เพิ่มเติมดังนี้ ในส่วนนี้ประกอบด้วยเครื่องหมายสำคัญ 3 อย่างคือ
^old\.html$ 
- เครื่องหมาย The caret หรือ ^ เป็นการกำหนดจุดเริ่มต้น URL ที่อยู่ภายใต้ direcory ปัจจุบันที่เราจะตรวจสอบ ซึ่งก็คือ directory เดียวกับไฟล์ .htaccess  
- เครื่องหมาย The dollar sign หรือ  $ ซึ่งบอกจุดสิ้นสุดของการตรวจสอบ Pattern
- อีกเครื่องหมายนึงก็คือ The period หรือ . จุด ที่อยู่ข้างหน้านามสกุล html ซึ่งเครื่องหมาย จุด นั้นเป็นอักขระพิเศษ ใน regular expressions ซึ่งจะมีความหมายว่า แทนด้วยตัวอักษรใดๆ 1 ตัว (ดูเพิ่มเติมใน regular expressions ต่อจากนี้) แต่ในนี้เราจะตรวจสอบว่า ถ้า Pattern เป็น old.html หรือไม่ เราจึงต้องใส่ \ ซึ่งเป็น escape charactor ไว้ด้วย

เมื่อเราเขียนตามนี้ เมื่อผู้เยี่ยมชมเว็บกรอกมาเป็น old.html server ก็จะทำ  transparently redirect ไปที่ new.html โดยที่ผู้เยี่ยมชมเว็บไม่รู้ตัวว่าเป็นข้อมูลอันใหม่แล้ว เพราะ URL บน browser เป็น old.html อยู่เหมือนเดิม

แต่ถ้าเราต้องการให้ URL ที่ปรากฏบน browser เป็น new.html ด้วย เราก็เพียงแต่เติม [R] เข้าไปต่อท้ายบรรทัด ดังนี้

RewriteRule ^old\.html$ new.html [R]

ซึ่ง [R] ก็คือ ส่วนที่ 4 ที่ผมบอกไว้ข้างบน
4. Command Flag [R] ซึ่งจะเป็นคำสั่งพิเศษกำหนดเงื่อนไขไว้ มีหลายคำสั่งซึ่งจะบอกไว้ตอนท้าย

การใช้ Regular Expressions




จะบอกว่า เป็นส่วนสำคัญที่สุดในการทำ Rewrite และมันก็ทำความความเข้าใจได้ยากพอควร ไม่ต้องห่วงครับ เดี๋ยวผมจะอธิบายเป็นขั้นตอน และยกตัวอย่างประกอบไปเรื่อยๆนะครับ



ตัวอย่างแรก

RewriteRule ^products/([0-9][0-9])/$ productinfo.php?prodID=$1

จะเปลี่ยนจาก

productinfo.php?prodID=11 หรือ productinfo.php?prodID=99

ให้เป็น

products/11/ หรือ products/99/

ดูที่ Pattern จะมีส่วนของที่อยู่ในปีกกาเหลี่ยม [ ] เราเรียกว่า ranges ในตัวอย่างจะเป็น [0-9] ซึ่งจะใช้ตรวจสอบว่าเป็นตัวอักษรที่อยู่ในช่วง 0-9 ใดๆ เราสามารถตรวจสอบ ranges อื่นได้ เช่น [A-Z] ตรวจสอบว่าเป็นตัวอักษรตัวใหญ่ตั้งแต่ A-Z [a-z] ก็เป็นการตรวสอบตัวเล็ก, ถ้า [A-Za-z] ก็ตรวจสอบว่าเป็นทั้งตัวใหญ่และตัวเล็ก เป็นต้น และใน Pattern ก็จะมีส่วนที่อยู่ในวงเล็บ ( ) เป็นการเก็บค่าที่เราตรวจสอบพบ และตรงตามเงื่อนไข ซึ่งเราสามารถเอาค่านี้ ส่งไปให้ PHP ในส่วนของ Query String ได้ เราเรียกค่าที่ได้จากวงเล็บนี่ว่า back-reference
เราสามารถตรวจสอบและแยก back-reference ออกได้หลายๆอันใน URL อันเดียว (ดูตัวอย่างต่อๆไป) ซึ่งback-reference ในวงเล็บแรก เวลาเราอ้างถึงเราก็จะใช้ $1 ส่วนลำดับต่อๆไป ก็จะเป็น $2$3 ไปเรื่อยๆดังนั้นผู้เยี่ยมชมเว็บ(หรือ bot ก็ได้)ก็จะเห็น url เป็น products/11/ หรือ products/99/ ซึ่ง สั้นและกระชับ โดยหารู้ไม่ว่า เราได้ซ่อน URL ที่ไม่ค่อยสวยงามและอ่านยากไว้เบื้องหลัง


ใส่ / ต่อท้าย



บางครั้งผู้เยี่ยมชมเว็บ อาจจะพิมพ์ URL แค่ products/12 ซึ่งเมื่อเข้าไปตรวจสอบใน Pattern ด้านบน ก็จะไม่ตรง เพราะ Pattern ด้านบนจะต้องมี / ต่อท้ายด้วย มันจึงไม่ทำ transparently redirect ให้เรา
เราก็มีวิธีแก้เหตุการณ์แบบนี้ ซึ่งเราก็จะเขียน Rule ใหม่เพิ่มเข้าไปดังนี้




RewriteRule ^products/([0-9][0-9])$ products/$1/ [R]
RewriteRule ^products/([0-9][0-9])/$ productinfo.php?prodID=$1

ดังนั้น เมื่อ Server ตรวจเจอ products/12 ก็จะเปลี่ยน URL เป็น products/12/ และแสดง URL ให้บน Browser ด้วย เพราะเราใส่ [R] ไว้ด้วย เมื่อเจอเงื่อนไขบรรทัดที่ 2 ก็เลยไม่มีปัญหาใดๆ ซึ่งมันก็จะส่งเป็น transparently redirect ไปที่ productinfo.php?prodID=12 ตามความต้องการของเรา

การใช้ Match Quantifiers


จะเป็นว่าตัวอย่างข้างบน เรากำหนดเป็น ^products/([0-9][0-9])$ นั่นหมายความว่า ตัวเลขที่ตามหลัง products/xx ต้องมี 2 ตัวเท่านั้น ซึ่งก็จะเป็นไปได้สูงสุดแค่ 99 แล้วกรณี productinfo.php?prodID=100 ล่ะจะทำอย่างไร?
ในกรณีนี้ เราสามารถใช้ Quantifiers เป็นตัวกำหนดได้ (Quantifiers มีหลายตัว จะอธิบายต่อไปเรื่อยๆ) ดังตัวอย่าง
 
RewriteRule ^products/([0-9]+)$ products/$1/ [R]
เครื่องหมายบวก + แทนอักษรตั้งแต่ 1 ตัว ถึง n ตัว (ตั้งแต่ 1 ตัวขึ้นไป) ดังนั้น [0-9]+ ก็หมายความว่า เป็นตัวเลข 0-9 ตั้งแต่ 1 หลักขึ้นไป ถ้าเราใส่ products/1 หรือ products/1000 ก็สามารถ Match case นี้ได้แล้วครับ

มาว่ากันต่อเรื่องเดิมนะครับว่าจะทำอย่างไรให้

http://www.yousite com/product.php?page_id=41
กลายเป็น

http://www.yousite.com/product/shoes/

จะเขียนแบบไหนดี จริงๆ แตละคนอาจมีวิธีคิด และ เขียนที่แตกต่างกันไป หลังจากอ่านบทความแล้วก็สามารถไปต่อยอดกันเองได้นะครับแต่ผม
ขอยกตัวอย่างการเขียนแบบง่ายๆ ก่อนนะครับ ผมจะเขียนลักษณะนี่้ครับ

RewriteEngine On
RewriteRule ^product/([^/]*)\.html$ \ com/product.php?page_id=$1

วิธีการเขียนของผมก็คือใช้วิธีสร้าง ชื่อ โฟลเดอร์ ปลอมๆ ใส่เข้าไปเลยคือ product/ และการ \.html คือการทำให้นามสกุลไฟล์ที่เรามองเห็นเป็น
.html และชื่อหน้าที่จะเกิดขึ้นนั้นคือ 41 เราก็จะได้ URL ใหม่เป็นชื่อนี้ครับ
http://www.yousite.com/product/41.html

จากนั้นให้เพิ่ม field ไปในดาต้าเบส 1 field สมมุติว่าชื่อ page_name แล้วใน field นี้เราก็ใส่ชื่อที่ต้องการเข้าไปเช่น shoes, watch หรือ
อะไรก็ได้ครับ จากนั้นเปลี่ยนที่ .htaccess เป็น

RewriteEngine On
RewriteRule ^product/([^/]*)]*)/$ \com/com/product.php?page_name=$1

ก็จะได้ URL ใหม่เป็นชื่อนี้ครับ

http://www.yousite.com/product/shoes.html

 ขั้นตอนต่อไปให้เราแก้ .htaccess  ให้เป็นลักษณะของ โฟลเดอร์ซึ่งก็ไม่ยากเลยครับแค่

RewriteEngine On
RewriteRule ^product/([^/]*)\.html$ \ com/product.php?page_name=$1

เราก็จะได้

http://www.yousite.com/product/shoes/

เห็นมั้ยครับไม่ยากเลยแล้วใครอยากให้มันเป็นภาษาไทยก็แค่ใส่ข้อมูลใน page_name แค่นั้นเองครับ

ข้อมูลเพิ่มเติมของ Rewrite Rule
RewriteRule
Regular expressions
Some hints about the syntax of regular expressions:
Text:
. Any single character
[chars] One of chars
[^chars] None of chars
text1|text2 text1 or text2
Quantifiers:
? 0 or 1 of the preceding text
* 0 or N of the preceding text (N > 0)
+ 1 or N of the preceding text (N > 1)
Grouping:
(text) Grouping of text
Anchors:
^ Start of line anchor
$ End of line anchor
Escaping:
\ char escape that particular char
Pattern Matching metacharacter Definitions
\ Use before any of the following characters to escape or null the meaning or it. \* \. \$ \+ \[ \]
^ Start matching at this point
$ End point of the match
. Any character
[] Starts a range
| Starts alternative match this|that would mean match this or that
() starts a back reference point
? match 0 or 1 time Quantifier
+ match atleast 1 or more times Quantifier
* match 0 to infinite times Quantifier
{} match minimum to maximum Quantifier {0,3} match up to 3 times
Range Definitions []
^ Negates the class. [^A-Z]+ means don’t match any uppercases
\ Use before any of the following characters to escape or null the meaning or it. [\+]+
- Range for matching [0-9]+ [a-zA-Z]+
Command Flag
[R] Redirect you can add an =301 or =302 to change the type.
[F] Forces the url to be forbidden. 403 header
[G] Forces the url to be gone 401 header
[L] Last rule. (You should use this on all your rules that don’t link together)
[N] Next round. Rerun the rules again from the start
[C] Chains a rewrite rule together with the next rule.
[T] use T=MIME-type to force the file to be a mime type
[NS] Use if no sub request is requested
[NC] Makes the rule case INsensitive
[QSA] Query String Append use to add to an existing query string
[NE] Turns of normal escapes that are default in the rewriterule
[PT] Pass through to the handler (together with mod alias)
Skip the next rule S=3 skips the next 3 rules
[E] E=var sets an enviromental variable that can be called by other rules


http://www.thaiseoboard.com/index.php/topic,3675.0.html
http://www.phpconcept.com/node/8
http://www.generateit.net/mod-rewrite/
http://seo.clisk.co.th/article

10 อันดับ โดเมนเนมที่แพงที่สุดในโลก

ข้อมูลสรุปนี้ไม่พร้อมใช้งาน โปรด คลิกที่นี่เพื่อดูโพสต์

htaccess คือ


htaccess คือ
Server จำนวนมาก (โดยปกติแล้วมักจะเป็น Apache server) ไฟล์ .htaccess (hypertext access) คือชื่อตั้งต้นของไฟล์ที่ใช้ควบคุมสิทธิของไดเร็กทอรี่ซึ่งสามารถกำหนดให้แตกต่างกันได้ในแต่ละไดเร็คทอรี่. การใช้งานไฟล์ .htaccess สามารถทำได้ด้วยการสร้างไฟล์ .htaccess และไปวางในไดเร็คทอรี่ที่ต้องการ. ซึ่งสามารถควบคุมสิทธิต่าง ๆ ได้นอกเหนือจากสิทธิที่ถูกกำหนดโดย server. .htaccess สามารถกำหนดรหัสผ่านสำหรับเข้าถึงไดเร็คทอรี่ได้รวมรวมถึงเขียนทับค่าต่าง ๆ ที่ถูกกำหนดโดย server ได้ เช่น ประเภทของเนื้อหา, character set, การจัดการไฟล์ CGI เป็นต้น


วิธีเขียน & ใช้งาน .htaccess
ปัญหาอย่างหนึ่ง ของผู้ทำเว็บคือ ทดสอบในเครื่องตัวเองแล้วปกติดี  พออัพขึ้น hosting ไม่่ว่าจะเป็นแบบธรรมดา หรือพวก virtual host แล้วทำไมถึงไม่เหมือนในเครื่อง นั่นเป็นเพราะ Server แต่ละเจ้าเค้า Config (กำหนดค่า) ไว้ไม่เหมือนกับเครื่องเรา(ไม่ได้กำหนดอะไรเลย)  ทั้งนี้เหตุผลเนื่องจากความปลอดภัยของตัว host และผู้ใช้บริการครับ  ถ้ายอมเปิดให้ใช้งานทุกอย่างทุกฟังก์ชั่น ย่อมไม่เป็นผลดีแน่นอน
ตัวอย่างที่เห็นชัดๆ เวลาติดตั้งระบบ CMS พวก joomla หรือ mambo ระบบจะให้เซตค่า register global = off ซึ่งมันต้องไปปรับใน php.ini  ถ้าเราไม่ใช่เจ้าของ host ก็คงจัดการลำบากครับ หรือบางทีเราไปเช่า host ต่างประเทศ เค้าเซต default char set เป็น charset=iso-8859-2 หรือ อื่นๆ ทำให้เราไม่สามารถแสดงผลภาษาไทยได้ครับ  อ่ะทีนี้เรามาดูวิธีการกันเลยดีกว่า

*** วิธีดูว่าตอนนี้ host เรา set อะไรไว้บ้าง
1. ให้สร้างไฟล์ .php ขึ้นมาครับ
2. ข้างในไฟล์ให้พิมพ์ <?php phpinfo(); ?>
3. เซฟแล้วนำไฟล์ ไปอัพใส่ host เรา แล้วเรียกไฟล์ครับ ก็จะเห็นว่า host เรา Config ไว้อย่างไร
เช่่น ไฟล์นี้ผมชื่อ config.php เวลาเรียก http://www.ชื่อโดเมนของคุณ.com/config.php ครับ

หน้าตาของ phpinfo

การกำหนดค่าใน php.ini โดยใช้ .htaccess
รูปแบบ1 : php_flag “ชื่อค่าที่ต้องการจะเปลี่ยน“ “ค่าที่ต้องการเปลี่ยน”
รูปแบบที่2 : php_value “ชื่อค่าที่ต้องการเปลี่ยน” “ค่าที่ต้องการเปลี่ยน”
การที่จะใช้แบบไหนนั้นขึ้นอยู่กับ ตัวที่เราต้องการจะ Config ครับ แต่โดยส่วนมากแล้ว  ตัวไหนที่มีแค่ค่า on , off จะใช้ php_flag และ หากอะไรที่ต้องมีการกำหนดค่าก็ใช้เป็น php_value แต่ก็มีอย่างอื่นด้วยนะครับแต่เดี๋ยวจะค่อยๆอธิบายไปแล้วกัน
ตัวอย่างที่1 : ปรับค่า register globals (ให้เป็น off)
1. เปิดไฟล์ htaccess.txt ที่เราได้ทำการสร้างไว้ในหัวข้อที่ผ่านมา
2.  พิมพ์คำว่า php_flag register_globals off
3. เซฟแล้วก็นำไปอัพไว้บนโอสต์ครับ
4. แก้ไขชื่อให้เป็น .htaccess แค่นี้ก็เรียบร้อยแล้วครับ

การเปลี่ยน register globals



จากตัวอย่างเป็นการปิด register_globals หากใครอยากเปิดใช้งาน สามารถเปลี่ยนจาก off เป็น on หรือ จะใช้ 0,1 แทนก็ได้ครับ 0=ปิด  , 1=เปิด
เช่น php_flag register_globals 1
———————————————————————————————
ตัวอย่างที่2 : บางครั้งเราเช่า host นอก Default timezone เป็นเวลาของต่างประเทศ  หากเราจะให้ทาง host เค้าปรับเวลาเป็นประเทศไทย เพื่อเราคนเดียวก็คงจะไม่ได้น่ะครับ เลยต้องใช้ .htacess เข้าช่วย
1. เปิดไฟล์ htaccess.txt ที่สร้างไว้
2.  พิมพ์คำว่า php_value date.timezone asia/bangkok
3. บันทึก แล้วอัพขึ้น host
4. แก้ไขชื่อเป็น .htaccess

การปรับ default timezone
เท่านี้ก็เรียบร้อยครับ  จะได้เวลา default time zone เป็นบ้านเราแล้ว!!!
———————————————————————————–
บางท่านเกิดสงสัยเอ๊ะ!!! หากต้องการจะกำหนดหลายๆค่าล่ะ จะำทำยังไง?  ก็ไม่ยากครับ แค่ Enter เว้นบรรทัดแต่ละคำสั่ง

การ Config หลายๆค่า
ตัวอย่างที่ 3 : เติม www ให้กับ url
โดยส่วนมากแล้ว เวลาเราพิมพ์ url ก็พิมพ์กันสั้นๆเช่น google.com ไม่ค่อยมีใครพิมพ์ www.google.com ในตัวอย่างนี้เราจะทำการเติม www ไปข้างหน้า url ให้โดยอัตโนมัติโดยใช้ .htacess
ขั้นที่ 1. เปิดไฟล์มาเหมือนเดิม
ขั้นที่ 2. ใส่ Code นี้ลงไป
view sourceprint?
1 # Rewrite to www. 
2 Options +FollowSymLinks 
3 RewriteEngine On 
4 RewriteBase / 
5 RewriteCond %{HTTP_HOST} !^www\.domain\.com$ [NC] 
6 RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
ขั้นตอนที่ 4. แก้ไขตรง domain ให้เป็นชื่อเว็บของคุณ และ ถ้าคุณใช้ .org ก็แก้เป็น .org
เพียงเท่านี้เวลาใครพิมพ์มาสั้นๆ  ตัว .htaccess ก็จะ เติม www ให้เราเองครับ

------------------------------------
การใช้ ประโยชน์ ของ .htaccess  เช่น block IP Blocking bad bots ป้องกันการ Hot link
ไฟล์ .htaccess นั้นเป็นไฟล์ที่ใช้ในการ override configuration ของ Apache
ซึ่งมีการใช้คำจำกัดความในภาษาอังกฤษว่า "Distributed Configuration File" โดยการทำงานจะเป็นการ configuration ของแต่ละ directory ทั้งหมดนี้ใน configuation file หลักจะต้องมีการ set AllowOverride ด้วยนะครับ
มาดูการใช้งานกันครับ

Authentication เราสามารถทำการ Authentication สำหรับ user ได้โดยการใช้ไฟล์ .htaccess ดังนี้ครับ
AuthType Basic
AuthName "Password Required"
AuthUserFile /www/passwords/password.file
AuthGroupFile /www/passwords/group.file
Require Group admins
โดยจะต้องมีการสร้างไฟล์ password ไว้ด้วยเพื่อเก็บรายชื่อของ user ครับ

Server-side include เป็นการสั่งให้ Apache ทำการ parse ค่าเอกสารโดยใช้ Server-side include ครับ ทำได้โดย
Options +Includes
AddType text/html shtml
AddHandler server-parsed shtml
เป็นการสั่งให้ Apache รู้จักเอกสาร .shtml เมื่อมีการเรียกร้องขอไฟล์ .shtml จะเป็นการทำงานโดยใช้ Server-Side include

CGI Handler เป็นการสั่งให้ Apache ทำการ execute ไฟล์ CGI สามารถทำได้โดย
Options +ExecCGI
AddHandler cgi-script cgi pl
หรือในอีกแบบ เป็นการสั่งให้ทุกไฟล์ใน directory นั้นทำงานในลักษณะ CGI script
Options +ExecCGI
SetHandler cgi-script

Error document เป็นการสั่งให้ Apache ใช้งาน error document ตามรูปแบบของเรา สามารถทำได้โดย
ErrorDocument code /directory/filename.ext
เช่น ถ้าต้องการทำการแสดง error ในแบบของเราสำหรับ error code 404 (Not found) ทำได้โดย
ErrorDocument 404 /errors/notfound.html
เมื่อมีการเรียกเอกสารที่ไม่มีใน directory นี้ Apache จะทำการแสดงเอกสาร notfound.html
โดยรหัส error ของ HTTP Server หลักๆนั้น มีดังนี้
400 Bad request
401 Authorization required
403 Forbidden
404 Not found
405 Method not allowed
408 Requested timed out
409 Conflicting request
410 Gone
500 Internal Server Error
501 Not Implement
502 Bad Gateway
503 Service Unavailable

Blocking by IP เป็นการสั่งให้ Apache ทำการ block ผู้ใช้งานจาก IP ที่ระบุ สามารถทำได้โดย
order allow,denydeny from 123.45.6.7deny from 012.34.5.allow from allจากตัวอย่างจะเป็นการ block จาก IP 123.45.6.7 และ IP ที่ขึ้นต้นด้วย 012.34.5 ทั้งหมด
Blocking user/site by referrer เป็นการสั่งให้ Apache ทำการ block ผู้ใช้งานที่มีการลิงค์มาจากเว็บที่ระบุ สามารถทำได้โดย
RewriteEngine on# Options +FollowSymlinksRewriteCond %{HTTP_REFERER} badsite.com [NC]RewriteCond %{HTTP_REFERER} anotherbadsite.comRewriteRule .* - [F]
จากตัวอย่างเป็นการ block ผู้ใช้ที่การ referrer จาก badsite.com และ anotherbadsite.com โดย [NC,OR] NC เป็นการบอกว่าให้เปรียบเทียบแบบ case insensitive และ OR หมายถึง referrer ที่มาจาก domain นั้นทั้งหมด โดย Apache จะใช้การเปรียบเทียบโดย Regular Expressions ซึ่ง "." ก็หมายถึง "." ตามมาตรฐานของ Regular Expressions เมื่อมีการร้องของจาก referrer ดังที่ระบุ Apache จะส่ง header 403 Forbidden ไปยัง Client
Blocking bad bots เป็นการสั่ง Apache ให้ block bots หรือโปรแกรมดูดเว็บต่างๆ สามารถทำได้โดย
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR]
RewriteCond %{HTTP_USER_AGENT} ^Bot mailto:craftbot@yahoo.com [OR]
RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR]
RewriteCond %{HTTP_USER_AGENT} ^Custo [OR]
RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR]
RewriteCond %{HTTP_USER_AGENT} ^Download Demon [OR]
.......
RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR]
RewriteCond %{HTTP_USER_AGENT} ^Xaldon WebSpider [OR]
RewriteCond %{HTTP_USER_AGENT} ^Zeus
RewriteRule ^.* - [F,L]
จากตัวอย่างเป็นแค่เพียงส่วนหนึ่งเท่านั้นครับ โดยการ block bots หรือโปรแกรมดูดเว็บนั้นจะช่วยลดแบนด์วดธ์ที่ไม่มีประโยชน์ลงได้เยอะเลยครับ

Default page เป็นการสั่งให้ Apache ทำการ index default ไฟล์ตามที่ต้องการครับ โดยปกติแล้วจะเป็น index.html index.php เราอาจจะเปลี่ยนให้เป็น myfile.html ก็ได้ครับ สามารถทำได้โดย
DirectoryIndex myfile.html

Redirect เป็นการสั่งให้ redirect ไปยังหน้าเพจที่เราต้องการเมื่อมีการเรียกไฟล์หรือ directory ที่ระบุไว้ สามารถทำได้โดย
Redirect /olddirectory http://modoeye.com/newdirectory/

ป้องกันการเปิดไฟล์  ถ้าเราไช้ไฟล์ในการเก็บ password เราสามารถป้องกันการร้องขอเอกสารนั้นๆได้โดย

order allow,deny
deny from all

เมื่อมีการร้องขอไฟล์ชื่อ password Apache จะมีการส่ง header 403 Forbidden ไปยัง client

การเพิ่ม MIME types เป็นการสั่งให้ Apache รู้จักไฟล์ชนิดที่เราระบุเพื่อจะได้มีการส่ง header ที่ถูกต้องไปยัง client สามารถทำได้โดย
AddType application/x-shockwave-flash swf

ป้องกันการ Hot link เป็นการสั่งให้ Apache ทำการป้องกัน การเรียกใช้ไฟล์ที่ไม่ใช้ไฟล์ที่เราต้องการโดยตรง เช่น cascading style sheet, Javascript หรือไฟล์ที่เป็นความลับอื่นๆได้ โดย
RewriteEngine onRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^http://(www.)?modoeye.com.com/.*$ [NC]RewriteRule .(css|js|gif|jpg)$ http://www.modoeye.com/hotlink.gif [R,L]
จากตัวอย่าง เป็นการป้องกันการเรีกใช้ไฟล์ .css, .js, .gif, .jpg โดยตรงที่ไม่ได้มาจาก modoeye.com และเมื่อมีการ hotlink จะมีการแสดง hotlink.gif แทน

ป้องกัน Directory listing เป็นการสั่งให้ Apache ทำการป้องการ listing ไฟล์ที่อยู่ใน directory นั้น (ในกรณีที่ใน directory นั้นไม่มีไฟล์ index และ main configuration file ทำการเปิด directory listing ไว้) เมื่อมีการเรียกมายัง directory นั้นๆปกติ Apache จะทำการ list ไฟล์ทั้งหมดออกมาแสดงผล ซึ่งเป็นการไม่ดีแน่ถ้าข้อมูลนั้นเป็นรูปหรือไฟล์สำคัญๆ เราสามารถทำการป้องกันได้โดย
IndexIgnore *หรือOptions -IndexesIndexIgnore *.gif *.jpg
จากตัวอย่างที่ 1 และ 2 นั้นเป็นการสั่งให้ Apache ไม่ทำการ list ไฟล์ใดๆทั้งสิ้น ส่วนตัวอย่างล่างสุดนั้นเป็นการสั่งให้ Apache ไม่ทำการ list เฉพาะไฟล์ .gif และ .jpg เท่านั้น

ทั้งหมดนั้นเป็นการใช้งาน .htaccess สำหรับ Apache ซึ่งสามารถนำไปประยุกต์ใช้กับ เว็บของท่านได้ตามต้องการครับ

----------------------------
เนื่องจากลูกค้าที่ใช้งาน webhosting เค้าต้องการให้คนเข้าเว็บไซต์แล้ว URL เป็นแบบที่ขึ้นต้น
ด้วย www. อย่างเดียวไม่ว่าจะเข้าเป็นแบบ มี www. หรือไม่มี www. ก็ต้องให้โชว์ url เป็น
แบบมี www. ตลอดเลยต้องจัดให้ลูกค้าหน่อยครับ
ไม่ยากเลยครับ พอลูกค้าใช้งานบน Apache เลยทำให้สมใจอยากด้วยการใช้ .htaccess
ใส่โค้ดลงไปใน .htaccess ดังนี้ครับ
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.engiblog\.com [NC]
RewriteRule ^(.*)$ http://www.engiblog.com/$1 [L,R=301]
</IfModule>
และแล้วลูกค้าก็ได้ดั่งใจที่ต้องการครับ
----------------------------------------
สร้างไฟล์ .htaccessบนวินโดว์ส
หลังจากใช้ Apache มานานเลยอยากลองเขียน Mod rewrite เล่นดูเลยจำเป็นต้องสร้างไฟล์ .htaccess
แต่เนื่องจากข้อบังคับของชื่อไฟล์ที่สามารถสร้างได้บนวินโดว์สนั้นมีข้อจำกัด ไม่ให้มี .(dot) อยู่หน้าสุดของชื่อ
จึงทำให้ไม่สามารถสร้างไฟล์ที่ชื่อ .htaccess ได้ แต่ไม่ใช่เรื่องยากถ้าจะทำ
วิธีง่ายๆ คือ
เขียนโค้ดอะไรให้เรียบร้อยใน Notepad แล้วเวลาจะ save file ก็ให้เลือก file type เป็น All file
และตรงชื่อไฟล์ก็ตั้งใส่ลงไปว่า
“.htaccess”
แจ่มไหมล่ะครับ
---------------------------------
เช่น ต้องการ เปลี่ยน register_globals จากค่า เดิม เป็น off ของ php ตั้งแต่เวอร์ชั่น 4.3 เป็น ต้นมา
ไฟล์
.htaccess
php_flag register_globals on
ส่วนด้านล่างนี้ เพิ่ม ขนาดไฟล์ ให้ สามารถ post และ upload ได้ ขนาดใหญ่ขึ้น
php_value post_max_size 46384000
php_value upload_max_filesize 46384000
ตาม 2 ตัว อย่าง สรุป รูปแบบ คือ
ขึ้นด้วย php_value
ตามด้วย ชื่อ config ที่ต้องการเปลี่ยน
ตามด้วย ค่าที่ต้องการกำหนดใหม่
ลองเอาไปใช้ดูนะครับ หากใช้แล้วเกิดปัญหาก็โทรมาปรึกษาเราได้ในเวลาราชการ ตามเบอร์โทรที่ให้ไว้ ใน hotline

ขอขอบคุณ kunkroo.com คุณครู.คอม

แบน ip ด้วย .htaccess ของบอร์ด SMF

ประเดิมบอร์ดนี้ด้วยความร้อนแรงของ สแปมขยะจากฝรั่ง 

วิธีการแก้ปัญหาก็มีหลายวิธี แต่ขอเริ่มด้วยวิธีง่ายๆ 

1.ไปที่ส่วน admin ของ smf
ศูนย์ดำเนินการระบบ -> สมาชิกที่ถูกแบน -> เพิ่มใหม่
เพิ่ม ชื่อที่จะแบน , ip , โฮล , เมล์ ฯ แล้วบันทึก

2.ใช้ .htaccess วิธีนี้น่าสนใจกว่าแบบแรก ทำอย่างไรมาดูครับ

สร้างไฟล์ text ขึ้นมาเปลี่ยนชื่อเป็น .htaccess อัพโหลดไปไว้ในเว็บ เช่น public_html/ 

ลืมไป ก่อนที่จะอัพต้องพิมพ์อะไรเล็กน้อยตามนี้

#Block IP from accessing website using .htaccess
order allow,deny
deny from 192.168.1.0            <--  บล็อก ip นี้ไม่ให้เข้าเว็บได้
deny from 192.168.10.0/24     <-- บล็อกตั้งแต่ 192.168.10.0 ถึง 254
allow from all

หรือ

# Deny 69.60.114.0 - 69.60.115.255 (512 addresses) 
Deny from 69.60.114.0/23 
# Deny 69.60.116.0 - 69.60.119.255 (1024 addresses) 
Deny from 69.60.116.0/22 

หรือ

# Deny 69.60.114.0 - 69.60.115.255 (512 addresses) 
Deny from 69.60.114.0/255.255.254.0 
# Deny 69.60.116.0 - 69.60.119.255 (1024 addresses) 
Deny from 69.60.116.0/255.255.252.0

คงพอจะเข้าใจนะครับ

ที่มา 
http://tools.dynamicdrive.com/userban/

เพิ่มเติม ตัวอย่าง

## USER IP BANNING
<Limit GET POST>
 order allow,deny
 deny from 42.12.5.34
 deny from 193.110.145.185
 deny from 212.173.53.
 deny from 69.242.
 allow from all
</Limit>


หรือเข้าไปที่เว็บนี้ http://tools.dynamicdrive.com/userban/