当地址栏中出现“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
答案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>
* 您可能必须更改这两个文件的权限才能保存您的更改。