Bình thường khi chưa upload code lên hosting bạn thường lập trình ở local dưới dạng sau phải không?
http://localhost/code
http://localhost/wordpress
Ở bài này mình sẽ hướng dẫn các bạn sử dụng MAMP Free cấu hình Virtual Host cho nó có dạng sau
http://code.local
http://wordpress.local
Đuôi .local bạn có thể đặt tùy ý như .wp, .mot ... trừ .dev vì đã được Google mua.
Điều kiện:
- Đã tạo 2 thư mục
wordpress
vàcode
trong htdocs
MacOs
Bước 1:
Mở terminal
và gõ dòng lệnh sau, mục đích là mở file hosts:
sudo nano /etc/hosts
Bạn thêm dòng sau
127.0.0.1 code.local wordpress.local
Bấm Ctrl + X -> Y -> Enter
để thoát
Bước 2:
Ở Finder bạn vào
Go -> Go to folder
Bạn truy cập vào folder apache ở đường dẫn sau:
/Applications/MAMP/conf/apache/
Mở file httpd.conf search dòng Virtual host và xóa dấu # trước Include. Mục đích là cho phép Mamp hỗ trợ Virtual hosts
Sau đó Command + S lưu lại.
Bước 3:
Bạn lại vào Finder bạn vào
Go -> Go to folder
Bạn truy cập vào folder extra ở đường dẫn sau:
/Applications/MAMP/conf/apache/extra/
Mở file httpd-vhosts.conf và paste các dòng lệnh sau
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/wordpress"
ServerName wordpress.local
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/code"
ServerName code.local
</VirtualHost>
Giải thích:
DocumentRoot : Đường dẫn đến thư mục trong htdocs
ServerName : Tên domain của bạn ví dụ ở đây là: wordpress.local
Sau đó Command + S lưu lại.
Khởi động lại MAMP
Từ giờ khi muốn thêm 1 Virtual host mới bạn chỉ cần truy cập vào httpd-vhosts.conf trong đường dẫn sau là được.
/Applications/MAMP/conf/apache/extra/
Windows
Bước 1:
Mở file hosts trên windows
C:/ > WINDOWS > system32 > drivers > etc > hosts
Chèn nội dung sau
127.0.0.1 wordpress.local code.local
Bước 2:
Mở file httpd.conf để bật Virtual hosts trên MAMP
C:/ > MAMP > conf > apache > httpd.conf
Tìm dòng Virtual hosts và xóa dấu # trước Include
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
Cũng trong file httpd.conf
<Directory />
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
Đang là AllowOverride None chuyển sang AllowOverride All
Bước 3:
Mở file httpd-vhosts.conf để thêm domain
C:/ > MAMP > bin > apache > conf > extra >httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "C:/MAMP/htdocs/wordpress"
ServerName wordpress.local
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/MAMP/htdocs/code"
ServerName code.local
</VirtualHost>
Giải thích:
DocumentRoot : Đường dẫn đến thư mục trong htdocs
ServerName : Tên domain của bạn ví dụ ở đây là: wordpress.local
Sau đó Ctrl + S lưu lại.
Khởi động lại MAMP
Nếu gặp tình trạng đăng nhập wp-login.php lỗi, hay bị tình trạng vẫn lưu lại ở folder cũ thì bạn vào phpMyAdmin và sửa lại đường dẫn ở siteurl
và home
http://localhost/phpMyAdmin/?lang=en
Cám ơn bạn đã đọc bài viết. Chúc bạn luôn gặp may mắn trong cuộc sống