如何在 Mac OSX 上为主机名设置别名

Aus*_*yde 34 alias hosts localhost macos

简而言之,我希望能够打开浏览器并打开local.example.com但它实际上加载http://localhost/path/to/example.com/

我使用的是 Mac OSX 10.5,并且不怕弄脏终端:)

我使用 Apache 作为我的本地服务器。

Ste*_*ngs 43

为了清楚起见,我基于这样一个假设,即您确实希望http://local.example.com加载文字网页http://localhost/path/to/example.com。换句话说,这只适用于这台机器。另一方面,如果您尝试使用 Mac OS X 机器向外部世界提供网页,那么这是一个不同的问题。

首先,在/etc/hosts文件中添加一个新行:

127.0.0.1   local.example.com
Run Code Online (Sandbox Code Playgroud)

您可以通过运行命令来执行此操作sudo nano /etc/hosts,将此行添加到末尾,然后按 Ctrl-X、Y 保存它。

您实际如何将地址http://local.example.com重定向/别名为http://localhost/path/to/example.com/取决于您使用的 Web 服务器。假设您使用的是 Apache:

如果您希望用户的浏览器显示 local.example.com,那么您希望设置一个虚拟主机,并且您的httpd.conf文件应该具有如下内容:

<VirtualHost *:80>
ServerName local.example.com
DocumentRoot /www/path/to/example.com
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

另一方面,如果您希望 Web 浏览器的位置栏更改为http://localhost/path/to/example.com/,那么您将希望使用 mod_rewrite 创建重定向

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