Goragod.com

Ajax Web Hosting, Domain, ออกแบบเว็บไซต์ด้วย AJAX และ PHP ฟรี โค้ด

  

htaccess tips and tricks

เมื่อต้องการเปิดใช้ mod_rewrite บน apache คุณต้องแทรกคำสั่งนี้ลงใน .htaccess (คุณไม่สามารถสร้างไฟล์นี้บน server ที่เป็น Windows ได้ เนื่องจาก Windows จะไม่ยอมให้สร้างไฟล์ที่ไม่มีชื่อ)

ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

ตัวอย่างที่ 1 เปลี่ยนเพจใดๆที่เรียกด้วย .htm ให้เป็น .php

เช่น เมื่อเรียกเพจ http://www.com/thepage.htm apache จะไปทำการเรียก http://www.com/thepage.php มาใช้งาน

ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

ตัวอย่างที่ 2 รีไดเร็คเพจไปยัง URL อื่นโดยตรง

ตัวอย่างเมื่อทำการเรียกเพจ http://www.com/thepage.htm จะไปทำการเรียกใช้เพจที่ http://www2.com/thepage.php แทน

ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

ตัวอย่างที่ 3 ใช้ Regular expression กับ .htaccess

ตัวอย่างเมื่อทำการเรียกไฟล์ .zip ใดๆ ที่อยู่ในไดเร็คทอรี่ files/ ให้ไปทำการดาวน์โหลดไฟล์นั้นๆ ผ่านหน้า download.php เช่น

เมื่อทำการเรียกไฟล์ http://www.com/files/games/test.zip

apache จะไปทำการเรียกเพจ http://www.com/download.php?section=games&file=test เพื่อจัดการดาวน์โหลดไฟล์แทน จุดประสงค์ของวิธีนี้ก็เพื่อป้องกันการเรียกดาวน์โหลดไฟล์โดยตรง และเพื่อสามารถให้ควบคุมการดาวน์โหลดหรือนับจำนวนการดาวน์โหลดได้

ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

หรือ เมื่อทำการเรียกไฟล์ rar zip doc หรือ pdf ให้ไปเรียกหน้า download

ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

ตัวอย่างที่ 4 เป็นมิตรกับ Search Engine

สังเกตุ URL http://www.com/index.php?id=5 จะเห็นว่า URL แบบนี้ไม่ได้บอกความหมายว่าหน้านี้หมายถึงหน้าอะไร แต่ถ้าระบุ URL เป็น http://www.com/htacess-tip-trick จะสื่อความหมายได้ว่าหน้านี้จะมีเนื้อหาอย่างไร ซึ่ง Search Engine จะให้คะแนน URL ที่สื่อความหมายตรงๆได้ดีกว่าครับ

ตัวอย่างจะเป็นการระบุ URL ของ blog ในรูปของ วันเดือนปี เช่น http://www.com/blog/17-1-2551 แล้วจะแปลงให้เป็น query ในรูปของ http://www.com/blog/index.php?d=17&m=1&y=2551 เพื่อให้ blog แสดง blog ในวันที่กำหนด

ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

สำหรับตัวอย่าง Regular expression ที่สามารถใช้กับ .htaccess ได้ก็คล้ายๆกับที่ใช้กับ perl ครับ เช่น

. อักขระใดๆ 1 ตัว
[chars] Character class: 1 ตัว
[^chars] ไม่ใช่ Character
text1|text2 text1 หรือ text2 | หมายถึง หรือ
? มีหรือไม่มี ตัวอักษร 1 ตัว
* มีหรือไม่มี ตัวอักษรใดๆ
+ และตัวอักษรใดๆ
(text) กลุ่มของข้อความในเครื่องหมาย () คืนค่ากลับตามลำดับเป็น $n
^ ตัวอักษรตัวแรกขึ้นต้นด้วย
$ ตัวอักษรตัวสุดท้ายลงท้ายด้วย
\char \ ใช้คู่กับอักขระควบคุมใดๆ เช่น ".[]()"

ตัวอย่างที่ 5 URL แบบสั้นๆ

บางครั้งเรามี URL ยาวๆแบบนี้ http://www.com/files/download/download.php?file=my.zip เราสามารถทำให้สั้นลงเป็น http://www.com/download?file=my.zip ได้ครับ
ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

ตัวอย่างที่ 6 เรียกเพจอะไรมาให้วิ่งไปที่ index.php ให้หมด

คงสงสัยนะครับว่ามันจะมีประโยชน์อะไร

ไม่ว่าเราจะเรียกไฟล์อะไรมา หรือ ไฟล์ในไดเร็คทอรี่อะไร มันจะพาเราไปยัง index.php เสมอครับ ประโยชน์ก็อย่างเช่น ป้องกันการยิงไดเร็คทอรี่ สำหรับพวกมือดีที่ต้องการตรวจสอบว่าเรามีไฟล์หรือไดเร็คทอรี่อะไรบ้างบน Server ในกรณีนี้ มันจะพบ ทุกไฟล์และทุกไดเร็คทอรี่ที่ยิงมาครับ (แล้วจะรู้ไหมเนี่ยว่าอันไหนเป็นไดเร็คทอรี่จริงๆบน Server) นอกจากนี้เรายังสามารถใช้สำหรับทำ Sub Domain ได้ด้วย ด้วยการตรวจสอบ ค่าที่ส่งมาแล้วเอาไปแยกออกเป็น Sub Domain หรือ ไดเร็คทอรี่ เช่น ตัวแปร$_SERVER[DOCUMENT_ROOT] หรือ $_SERVER[REQUEST_URI] ของ PHP

ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

ตัวอย่างที่ 7 Virtual Sub Domain

เป็นการ Config .htaccess ให้เป็น virtual sub domain โดยจะมี domain ในรูป http://user.domian.com สำหรับพวก free host หรือ blog ที่มี user เป็น sub domain โดยเมื่อเรียก sub domain นี้ จะไปทำการเรียกใช้ ไดเร็คทอรี่ ภายใต้ไดเร็คทอรี่หลัก เช่น /home/hosting/user/public_html/sub/directory/

ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

ตัวอย่างที่ 8 ให้ google ไปยัง URL ที่กำหนด

เป็นการ Config .htaccess ให้ google ไปอ่านเพจที่กำหนด โดยการตรวจ IP ของ google เมื่อพบกลุ่ม IP ที่เป็นของ google จะให้ google ไปอ่านยังเพจที่กำหนดทันที

ขออภัย : สำหรับสมาชิกเท่านั้น, สมาชิกกรุณาเข้าระบบก่อน

ลองดูเพิ่มเติม ที่นี่ครับ http://www.ilovejackdaniels.com/cheat-sheets/mod_rewrite-cheat-sheet/
ผู้เขียน gOragod| 02 เมย. 2551| 02 เมย. 2551| 0| 5249| .htaccess