ผมใช้ XAMPP 1.6.5 เป็นเครื่องมือหลักในการพัฒนาเวบแอพพลิเคชัน
และในแต่ละเวบ แต่ละโปรเจค ผมจะแยกโฟลเดอร์ออกจากกัน
เช่น โปรเจค project-a, project-b ผมจะใช้โครงสร้างโฟลเดอร์แบบนี้
d:/www
|-/project-a.localhost
| |-/public_html
| |-index.php
| |-.htaccess
| |-/css
| |-default.css
| |-/images
| |-logo.png
|-/project-b.localhost
|-/public_html
|-index.php
|-.htaccess
|-/css
|-default.css
|-/images
|-logo.pngเวลาใช้งานผ่านหน้าเวบก็เรียก http://project-a.localhost หรือ http://project-b.localhost ได้เลย
ผมว่ามันสะดวกดีนะ
วิธีตั้งค่า
ต้องแก้ไฟล์ 2 ไฟล์ คือ
- C:\Windows\System32\drivers\etc\hosts
- C:\xampp\apache\conf\extra\httpd-vhosts.conf
ไฟล์ hosts จะเป็นไฟล์สำหรับกำหนดชื่อเวบที่เราต้องการเรียกใช้งาน เช่น project-a.localhost
หรือจะทำเป็น project-a.com ยังได้เลย โดยเพิ่มบรรทัดนี้เข้าไป
127.0.0.1 project-a.localhost 127.0.0.1 project-b.localhost
ส่วนไฟล์ httpd-vhosts.conf จะเป็นตัวกำหนดว่าไฟล์สคริปต์ PHP ของเราเก็บไว้ที่โฟลเดอร์ไหน
เช่น เวบ project-a.localhost เราเก็บไฟล์ไว้ที่ D:\www\project-a.localhost\public_html
ก็ให้ทำการตั้งค่าแบบนี้
NameVirtualHost project-a.localhost:80
<VirtualHost project-a.localhost:80>
ServerAdmin amazon@gmail.com
DocumentRoot C:\www\project-a.localhost\public_html
ServerName laundry.localhost
<Directory "C:\www\project-a.localhost\public_html">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog C:\xampp\apache\logs\project-a.localhost-error_log
CustomLog C:\xampp\apache\logs\project-a.localhost-access_log common
</VirtualHost>หลังจากนั้นก็รีสตาร์ท Apache 1 ครั้งก็เรียก http://project-a.localhost ได้เลย
สำหรับท่านที่ลองทำแล้วประสบปัญหาเรียกเวบแล้ว มันเปิดหน้า default ให้เพิ่มตัว localhost ไปอีกตัวนึงดังนี้
NameVirtualHost localhost:80
<VirtualHost localhost:80>
ServerAdmin admin@gmail.com
DocumentRoot C:/xampp/htdocs
ServerName localhost
</VirtualHost>อันนี้ผมใช้สำหรับ XAMPP 1.6.5 นะครับ ถ้าต่างเวอร์ชัน รายละเอียดอาจจะต่างกันนิดหน่อย
ส่วนใหญ่จะเป็นความแตกต่างในการเปิดใช้โมดูลใน Apache มากกว่าครับ เช่น อาจไม่ได้เปิดใช้โมดูล vhost อะไรประมาณนี้
ยังไงก็ดูดีๆ แล้วกันนะครับ