Cách đặt bí danh tên máy chủ trên Mac OSX


24

Tóm lại, tôi muốn có thể mở trình duyệt và mở local.example.comnhưng nó thực sự tảihttp://localhost/path/to/example.com/

Tôi đang sử dụng Mac OSX 10.5 và không sợ bị bẩn tay với thiết bị đầu cuối :)

Tôi sử dụng Apache làm máy chủ cục bộ của mình.


Bạn đang cố gắng phục vụ các trang web ra thế giới bên ngoài hay bạn chỉ mong đợi URL local.example.com hoạt động cho máy của mình?
Stephen Jennings

Chỉ cho máy của riêng tôi. Nó trở nên mệt mỏi khi gõ / ghi nhớ toàn bộ filepath vào bản sao địa phương của tôi về bất kỳ trang web nào tôi đang làm việc.
Austin Hyde

Câu trả lời:


31

Nói rõ hơn, tôi dựa trên giả định rằng bạn thực sự muốn http://local.example.com tải trang web bằng chữ http: //localhost/path/to/example.com . Nói cách khác, điều này sẽ chỉ hoạt động cho máy này. Mặt khác, nếu bạn đang cố gắng phân phát các trang web ra thế giới bên ngoài bằng máy Mac OS X, thì đó là một câu hỏi khác.

Đầu tiên, thêm một dòng mới vào /etc/hoststệp của bạn :

127.0.0.1   local.example.com

Bạn có thể làm điều này bằng cách chạy lệnh sudo nano /etc/hosts, thêm dòng này vào cuối, sau đó lưu nó bằng cách nhấn Ctrl-X, Y.

Cách bạn thực sự chuyển hướng / bí danh địa chỉ http://local.example.com đến http: //localhost/path/to/example.com/ tùy thuộc vào máy chủ web bạn đang sử dụng. Giả sử bạn đang sử dụng Apache:

Nếu bạn muốn trình duyệt của người dùng hiển thị local.example.com, thì bạn muốn thiết lập một máy chủ lưu trữ virushttpd.conftệp của bạn phải có nội dung như sau:

<VirtualHost *:80>
ServerName local.example.com
DocumentRoot /www/path/to/example.com
</VirtualHost>

Mặt khác, nếu bạn muốn thanh vị trí của trình duyệt web thay đổi thành http: //localhost/path/to/example.com/ , thì thay vào đó, bạn sẽ muốn sử dụng mod_rewrite để tạo chuyển hướng :

RewriteCond %{HTTP_HOST}   !^local\.example\.com [NC]
RewriteCond %{HTTP_HOST}   !^$
RewriteRule ^/?(.*)         http://localhost/path/to/example.com/$1 [L,R,NE]

Điều này sẽ không đi đến một con đường nhất định
John T

@ John bạn đã đúng, đã sửa.
Stephen Jennings

Nếu "bí danh" mong muốn là https://localhost/path/to/example.com, nghĩa là HTTPS, không HTTP, giải pháp này có còn được áp dụng không?
Kevin Meredith

@KevinMeredith điều đó là không thể. Trình duyệt phải biết rằng nó đang nói về HTTPS. Có thể có khả năng chuyển hướng HTTP 302, trong Apache được gọi Redirect. httpd.apache.org/docs/2.4/mod/mod_alias.html#redirect
Beetle

/ etc / hosts thường bị ghi đè nếu bạn đang sử dụng VPN
Jonathan Neufeld
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.