如何在Mac OSX上为主机名加上别名


24

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

我正在使用Mac OSX 10.5,并且不怕弄脏终端机:)

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


您是要向外界提供网页,还是只希望local.example.com URL对您的计算机有效?
Stephen Jennings 2010年

仅用于我自己的机器。键入/记住我正在处理的任何网站的本地副本的完整文件路径都非常麻烦。
奥斯丁·海德

Answers:


31

明确一点,我基于您确实希望http://local.example.com加载文字网页http://localhost/path/to/example.com的假设。换句话说,这仅适用于该机器。另一方面,如果您尝试使用Mac OS X机器将网页提供给外界,那么这将是另一个问题。

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

127.0.0.1   local.example.com

您可以通过运行命令来执行此操作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>

另一方面,如果您希望网络浏览器的位置栏更改为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]

不过,这不会走到一条路
约翰·T

@约翰,你是对的,固定的。
Stephen Jennings 2010年

如果所需的“别名”为https://localhost/path/to/example.com,即HTTPS不是HTTP,此解决方案是否仍然适用?
凯文·梅雷迪斯

@KevinMeredith这是不可能的。浏览器必须知道它正在使用HTTPS。HTTP 302重定向(在Apache中称为)可能是可行的Redirecthttpd.apache.org/docs/2.4/mod/mod_alias.html#redirect
甲壳虫

如果您使用的是VPN,则/ etc / hosts通常会被覆盖
Jonathan Neufeld
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.