如何设置一个具有合理名称(不同于“localhost:80”)的本地主机?

如何设置一个具有合理名称(不同于“localhost:80”)的本地主机?

当地址栏中出现“localhost:80”之类的内容时,我发现在本地处理我的网站会很混乱。如果可能的话,最好有“mydomainoffline.com”之类的内容,然后以某种方式映射到“localhost:80”。我该如何在 MAC 上做到这一点?

我使用免费的 MAMP 包(mamp网站),而不是商业版 MAMP PRO。所以我需要手动完成这类操作。我该怎么做?

答案1

我意识到 OP 有一台 Mac,并且给出的解决方案适用于 Mac 和 Linux。

但我还想补充一点,Windows 中也有一个 hosts 文件C:\Windows\System32\drivers\etc\hosts,以防有人通过 Google 来到这里遇到同样的问题并使用 Windows :)

答案2

Web 服务器无法为您执行此操作,因为它不负责 DNS 解析。

您需要在您的Hosts 文件/private/etc/hosts/etc/hosts取决于版本),然后执行一些特别的 苹果系统 魔法仪式使其粘住。

答案3

您可以通过编辑来执行此操作/etc/hosts(您需要以管理员身份执行此操作,例如sudo nano /etc/hosts

找到如下行:

127.0.0.1    localhost

并添加另一个主机名,例如

127.0.0.1    localhost mydomainoffline.com

(编辑:我应该指出,虽然这对 Leopard(10.5)来说很好,但我不知道其他版本的 Mac OS X 是否如此)

答案4

我没有使用 MAMP,但我使用预装的 Apache 2 做过同样的事情。可能有更简单的方法可以做到这一点,但这确实帮助我在本地机器上测试多个站点。

编辑主机文件

主机文件位于/etc/hosts。我以 结尾所有本地测试域local,但这不是必需的。以下是我所拥有的一个示例。

# clients
    127.0.0.1       acmewidgets.clients.local
    127.0.0.1       someclient.clients.local
    127.0.0.1       etcetc.clients.local


# Projects and mini sites
    127.0.0.1       someproject.proj.local
    127.0.0.1       someotherproject.proj.local

# tools
    127.0.0.1   sql.tools.local

# Different open source solutions
    # e-commerce
        127.0.0.1       magento.apps.local
        127.0.0.1       opencart.apps.local
        127.0.0.1       oscommerce.apps.local
        127.0.0.1       zencart.apps.local
    # forums
        127.0.0.1       vanilla.apps.local
    # blogs
        127.0.0.1       wp.apps.local
        127.0.0.1       wpmu.apps.local
    # CMS's
        127.0.0.1       joomla.apps.local
        127.0.0.1       drupal.apps.local
        127.0.0.1       concrete5.apps.local

因此,我不仅拥有不同的客户站点,而且您可以看到我拥有一些我经常使用和测试的开源平台子集,以及个人项目和工具。

另外,请注意,替换 不是一个好主意localhost,因为其他一些应用程序可能会使用它。你应该添加

编辑虚拟主机

再次强调,我不使用 MAMP,所以我不知道它存储在哪里,但你正在寻找该http-vhosts.conf文件。在标准 OS X 安装中,它位于/etc/apache2/extra/httpd-vhosts.conf

对于我在主机文件中创建的每个 *.local 域,我都创建了相应的虚拟主机条目。

NameVirtualHost *:80

# Open source app testing
# ----------------------------------------------------------------------

<VirtualHost *:80>
    ServerName opencart.apps.local
    DocumentRoot /Users/justin/Development/localhost/opencart/html
</VirtualHost>

<VirtualHost *:80>
    ServerName oscommerce.apps.local
    DocumentRoot /Users/justin/Development/localhost/oscommerce/html
</VirtualHost>

# Tools
# ----------------------------------------------------------------------

<VirtualHost *:80>
    ServerName sql.tools.local
    DocumentRoot /Users/justin/Development/localhost/bin/tools/wwwsqldesigner
</VirtualHost>

* 您可能必须更改这两个文件的权限才能保存您的更改。

相关内容