วิธีทำให้เว็บใน localhost มี URL เหมือน Online

วิธีทำให้เว็บใน localhost มี URL เหมือน Online

ท่านที่ทำเว็บคงรู้แก่ใจดีนะครับ ว่าเวลาเราทดสอบเว็บในเครื่อง ก็ได้ URL นึง เวลาที่เราupload ขึ้นเว็บจริงก็อีก URL นึง บางทีลืมแก้ Path รูปก็ผิด หรือลิ้งค์ก็ผิดซะงั้น วันนี้จะเอาเทคนิคมาฝากครับ
คนที่ได้เคยลองทำเว็บในเครื่องตัวเองมานาน จะพบความลำบาก หรือความขัดใจเรื่องนึงนั่นก็คือเรื่องของ url ที่ใช้ในเครื่องกับเวลาที่เอาขึ้นไปรันจริงบนเว็บนั้นจะแตกต่างกันเสมอ และมักจะส่งผลให้การทำงานผิดพลาดได้ เช่นตอนทดสอบในเครื่องเว็บชื่อ http://localhost/a แต่เว็บจริงเป็น http://www.abc.com ดังนั้นในหลายครั้ง เราลืมแก้ไฟล์ก่อน Upload เราก็เลย upload เว็บที่มี url เป็น http://localhost/a ขึ้นไปเฉยเลย หรือบางคนก็แก้ไขด้วยการ ตั้งเป็นตัวแปรใส่ไว้ในไฟล์สักไฟล์นึงแล้วแก้ไขไฟล์นี้แค่ไฟล์เดียวพอ แต่บางครั้งก็ลืมอยู่ดี หรือว่าก็ต้องคอยแก้ไขกลับไปกลับมาตอน upload

บทความนี้จึงจะเสนอวิธีการตั้งค่าเว็บให้การทดสอบเว็บในเครื่อง เหมือนเป็นชื่อเว็บที่ใช้บน host จริงๆเลย เวลาทดสอบจะได้ไม่ต้องคอยแก้ไขไฟล์ไปมา เป็นเรื่องที่น่าจุกจิกกวนใจ (แต่อาศัยแก้ไขไฟล์ host จุดเดียวเท่านั้นทุกค่าพร้อมใช้ไม่ต้องยุ่งกับโค้ดใดๆ)
เพื่อให้เป็นการเข้าใจตรงกันผมจะกำหนดค่าต่างๆดังนี้ครับ
1.ผมต้องการทำเว็บบนโดเมนจริงที่ชื่อว่า www.beelocal.com สมมุติว่าจะจดโดเมนทำเว็บในชื่อนี้เลย
2.เว็บที่เก็บในเครื่องตัวเองตอนนี้เก็บไฟล์เอาไว้ที่ C:/wamp/www/bee จริงๆมันจะอยู่ที่ไหน แฟ้มเป็นชื่ออะไรก็ได้ครับ เพราะเดี๋ยวการตั้งค่าเราจะกำหนดลงไปได้

เริ่มต้นจากท่านต้องเตรียมดังต่อไปนี้ครับ
1.มีเว็บอยู่ในเครื่อง
2.ติดตั้ง wamp แล้วเรียบร้อยใช้งานได้ เพราะว่าการตั้งค่าจุดนี้ จะเป็นการตั้งค่าสำหรับผู้ที่ใช้ wamp ครับ
3.ใช้ windows โดยต้องมีสิทธ์การแก้ไขไฟล์ใน C:/windows ด้วยนะครับ

ขั้นตอนทั้งหมดไม่ยากเลยมีดังนี้
1.เปิดให้มองเห็น hidden file ในเครื่อง
2.ตั้งค่าชื่อโดเมนในไฟล์ hosts
3.ตั้งค่า virtual host ของ wamp
4.restart apache

แค่ 4 ขั้นเท่านี้ เราก็จะสามารถใช้งานเว็บในเครื่องเราเองได้เหมือนการทำบน server จริงได้แล้วครับ
โดยถ้าอธิบายโดยละเอียด ก็จะมีดังนี้ครับ
1.เปิดให้มองเห็น hidden file ในเครื่อง อ่านวิธีทำให้มองเห็น hidden file ในเครื่อง เนื่องจากไฟล์ hosts มันเป็น Hidden file ครับในบางเครื่อง เราเลยต้องเปิดให้มองเห็นเพื่อที่จะได้แก้ไขได้ตรงกัน
-- วิธีทำก็คือ เปิด my computer หรือว่า หน้าต่างไหนก็ได้ครับ my document ก็ได้ แล้วด้านบน กดที่ Tools>Folder options >> (tab) view >> ติ้ก host hidden files and folders และเอาติ้กหน้า Hide protected operating system files ออก แล้ว OK

2. ตั้งค่าชื่อโดเมนในไฟล์ hosts ให้ชี้โดเมน beelocal.com ทำได้ดังนี้
--เปิดไฟล์ hosts ซึ่งเป็บอยู่ที่ C:\\WINDOWS\\system32\\drivers\\etc ถ้าใครมองไม่เห็นไฟล์ hosts ในแฟ้มนี้ให้ทำข้อ 1 ก่อนครับ
คลิกขวาเปิดด้วย notepad ก็ได้
แล้วที่บรรทัดล่างสุดขึ้นบรรทัดใหม่ เติมไปว่า
127.0.0.1 beelocal.com
127.0.0.1 www.beelocal.com

อย่าลืมนะครับ beelocal.com คือโดเมนที่ผมต้องการ และเราจะใส่ทั้งแบบมี www และไม่มี www ครับ ให้ชี้กลับเข้ามาที่เครื่องตัวเองคือ 127.0.0.1

3.ตั้งค่า virtual host wamp เพื่อให้รับโดเมนที่ชี้เข้ามา
-- ก่อนอื่นเปิดใช้ vhost ก่อน โดยให้เปิดไฟล์ httpd.conf ซึ่งเก็บใน C:\\wamp\\bin\\apache\\Apache2.2.11\\conf (ถ้าท่านใช้ wamp เวอร์ชั่นไม่ตรงกับผม ค่าตรง Apache2.2.11 อาจจะเปลี่ยนได้นะครับ ก็ให้เปิดตามที่ท่านมีอยู่)
แล้วค้น
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
ให้แก้ไขเป็น
# Virtual hosts
Include conf/extra/httpd-vhosts.conf

จากนั้น เปิดไฟล์ httpd-vhosts.conf ซึ่งอยู่ใน C:\\wamp\\bin\\apache\\Apache2.2.11\\conf\\extra (ถ้าท่านใช้ wamp เวอร์ชั่นไม่ตรงกับผม ค่าตรง Apache2.2.11 อาจจะเปลี่ยนได้นะครับ ก็ให้เปิดตามที่ท่านมีอยู่)

ให้เติม
<VirtualHost *:80>
ServerAdmin admin@beelocal.com
DocumentRoot "C:/wamp/www/bee"
ServerName beelocal.com
ServerAlias www.beelocal.com
</VirtualHost>

เอาไว้ที่ด้านล่างสุดของไฟล์ และอย่าลืมนะครับว่าเครื่องผมเก็บเว็บเอาไว้ที่นี่เลยต้งมาชี้ที่นี่ครับ

จากนั้น restart wamp 1 ที (จริงๆรีแค่ apache ก็พอแล้ว)

เมื่อเราทำเสร็จก็จะได้โดเมนในเครื่องตัวเองทันที ทดสอบด้วยการเปิดเว็บ www.beelocal.com นั่นล่ะครับ ถ้าเจอหน้าเว็บที่มีอยู่ถึงจะถูก ถ้าเจอหน้า local ให้ตรวจสอบตั้งแต่ข้อ 3 ครับ

และก็มีคำถามมาว่า เมื่อเราต้องการจะเปิดเว็บจริงๆ เราจะทำอย่างไร เพราะว่าตอนนี้มันชี้เข้าเครื่องเราเอง ก็ทำง่ายๆด้วยการลบบรรทัดที่เราตั้งค่าออกจาก hosts (ที่เราทำข้อที่ 2 ) และ save รอประมาณ 5 นาทีเปิดเว็บอีกครั้งมันก็เป็นเว็บที่อยู่บน server จริงๆแล้วครับ ง่ายๆเท่านี้เอง

อาจจะดูทำยุ่งยาก แต่ใช้แล้วมันสะดวกมากครับ
[PRINT VERSION] เขียน: 2009-09-23 21:21:29 แก้ไข : 2009-09-23 21:21:29 อ่าน : 9495
tag : ชี้โดเมนในเครื่อง, ชี้โดเมนเข้าเครื่อง, ตั้งโดเมนให้เครื่อง, ทำให้ local มีโดเมน, localhost มีโดเมน, โดเมนใน localhost

Comment

Comment
BeYourCyber - 22/09/2009 23:00:00 -
ร่วมพูดคุยในหัวข้อของบทความ วิธีทำให้เว็บใน localhost มี URL เหมือน Online
ท่านที่ทำเว็บคงรู้แก่ใจดีนะครับ ว่าเวลาเราทดสอบเว็บในเครื่อง ก็ได้ URL นึง เวลาที่เราupload ขึ้นเว็บจริงก็อีก URL นึง บางทีลืมแก้ Path รูปก็ผิด หรือลิ้งค์ก็ผิดซะงั้น วันนี้จะเอาเทคนิคมาฝากครับ
Guest - 07/06/2011 10:33:14 - 61.90.80.88
จะลองดูครับ ^^
Guest - 24/01/2012 22:25:18 - 182.52.78.224
โฮสต์มองไม่เห็นเว็บลูกครับทำอย่างไรดี ท่านผู้รู้ช่วยด้วยครับ คือมีเว็บไซต์หลักแล้ว เราสร้างSub Domain Name แล้ว แต่ติดตั้ง CMS Joomla แสดงผล Url กลับทาง(ตัวอย่าง http://c-edco.com/panus/joomla/ ) แทนที่ จะเป็น http://panus.c-edco.com) ลบไฟล์ index.html ที่ไหนครับ หลายครั้งไม่ได้ลบมันก็เข้าหน้าเว็บเลย บางครั้งก็ให้ลบ ลบแล้วก็ล่มครับ งงง
BeYourCyber - 25/01/2012 09:36:33 - 58.10.65.36
ต้องค่อยๆไล่ครับ
การที่เปิด /panus ได้ แปลว่า hosting ใช้ subdomain แทน sub folder ดังนั้น ทำให้เปิดได้ทั้งสองทางคือ panus. และ /panus ครับ เป็นเรื่องปกติ
ถ้าคุณบอกว่าเข้าผ่านทาง /panus/joomla ได้ แปลว่าเวลาเข้าผ่านทาง panus. ก็จะต้อง /joomla ด้วย เพราะว่าคุณวางในแฟ้มย่อย ดังนั้นต้องเรียกชื่อ แฟ้มย่อยด้วย

ถ้าคุณลบ index.html แล้วเจอหน้า error 403 นั่นเป็นอาการที่ถูกต้องแล้วไม่ได้ล่มแต่อย่างใด แต่เป็นอาการที่บอกว่าไม่พบหน้า index ใดๆเลย ไม่ว่าจะเป้น .html ,.htm , .php ครับ

บางทีลบแล้วยังเจอหน้าอยู่ก็แก้ไม่ยากแค่กด ctrl F5 ครับ

สรุปคือ ต้องไม่งงเรื่องการเปิดหน้าเว็บที่เก็บในแฟ้มครับ