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 wordpresscode 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 ở siteurlhome

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