21 พฤษภาคม, 2557
~ ครั้งหนึ่งฉันไปฮ่องกงมา (บันทึกเที่ยวฮ่องกง 3วัน 2คืน ... ทริปส่งท้ายปี2013)
ย้ายบล๊อกไปที่ http://www.tamemo.com/post/44/trip-hongkong-2013/
15 พฤษภาคม, 2557
~ [How to] CG Painting: ลงสีตัวการ์ตูนด้วย Photoshop
ตอนนี้ย้ายบล๊อกไปอยู่ที่นี่แล้วครับ แต่บทความยังอยู่นะ ตามไปอ่านบทความต่อได้ที่:
กดเลย --> http://www.tamemo.com/post/43/
02 พฤษภาคม, 2557
.htaccess ใช้งานไม่ได้ ขึ้นแต่คำว่า "No input file specified."
เมื่อวันก่อนเจ้าของบล๊อกได้ทำการย้ายไฟล์จาก host ตัวเก่าไปยัง host ตัวใหม่อีกตัว
ซึ่งปกติแล้วเว็บที่เราใช้ก็เป็น framework ตัวหนึ่งที่โมฯ ขึ้นมาใช้เอง
และแน่นอนว่า framework ส่วนใหญ่มักจะมีการจัดการ url-decoration เพื่อความสวยงามให้
ตัวอย่างเช่น CI หรือ CodeIgniter ก็จะสั่งให้ทุกอย่าง redirect ไปหา index.php แล้วทำการเซ็ตไฟล์ .htaccess ให้ re-write เจ้า index.php ออกไปจาก url เช่น
นับเป็นวิธีการทำให้ url ดูสวยงามเรียกง่ายขึ้นที่นิยมที่สุด
คือบอกก่อนว่า .htaccess ที่เขียนน่ะมันไม่ผิดชัวร์ เพราะที่ host เก่ามันทำการ re-write ได้ไม่เห็นมีปัญหา
เพิ่ม ? ลงไปข้างหลัง path ที่เราจะให้ re-write ไปหา
เช่น
จบ!
ซึ่งปกติแล้วเว็บที่เราใช้ก็เป็น framework ตัวหนึ่งที่โมฯ ขึ้นมาใช้เอง
และแน่นอนว่า framework ส่วนใหญ่มักจะมีการจัดการ url-decoration เพื่อความสวยงามให้
ตัวอย่างเช่น CI หรือ CodeIgniter ก็จะสั่งให้ทุกอย่าง redirect ไปหา index.php แล้วทำการเซ็ตไฟล์ .htaccess ให้ re-write เจ้า index.php ออกไปจาก url เช่น
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
หรือถ้าเป็น Laravel ก็จะเป็น
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [L]
ทีนี้เวลาเราเรียก จาก
www.nainee.com/index.php/view/1234
ก็จะเหลือแค่
www.nainee.com/view/1234
เท่านั้น ดูสวยขึ้นเยอะ!
นับเป็นวิธีการทำให้ url ดูสวยงามเรียกง่ายขึ้นที่นิยมที่สุด
แต่ทว่า...
อย่างที่เกริ่นไปข้างต้น เรากำลังทำการย้าย host อยู่ แน่นอนว่าเมื่อย้ายไปแล้วก็ต้องมานั่งปรับๆ อะไรกันนิดหน่อยตามฟอร์มเพราะเซิร์ฟเวอร์แต่ละตัวมันตั้งค่ามาไม่เหมือนกัน
แต่ผิดที่โค้ดภาษา PHP ยังพอว่าแต่นี่แม้แต่เรียกหน้าเพจยังไม่ขึ้นเลย แจ้งมาแต่คำว่าNo input file specified.อ้าว เจออย่างนี้เราก็งงน่ะสิ ของเก่าไอ้เจ้า .htaccess มันยังทำงานได้ปกติเลย แล้วนี่มันเกิดอะไรขึ้น?
คือบอกก่อนว่า .htaccess ที่เขียนน่ะมันไม่ผิดชัวร์ เพราะที่ host เก่ามันทำการ re-write ได้ไม่เห็นมีปัญหา
แล้วแก้ยังไงล่ะ?
ทางแก้นั้นไม่ยากเลย แต่ใช้เวลาหานานมาก นั่นคือ...เพิ่ม ? ลงไปข้างหลัง path ที่เราจะให้ re-write ไปหา
เช่น
RewriteEngine on
RewriteCond $1 !^(index\.php|images|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]
เพียงเท่านั้นแหละ .htaccess ก็จะกลับมาใช้งานได้เหมือนเดิมจบ!
สมัครสมาชิก:
บทความ (Atom)