我发布这篇文章是因为我最近在使用 MAMP 堆栈设置虚拟主机时遇到了很多麻烦,因为 Apple 在 Mac OS 10.8 的默认 Apache2 安装上限制了可用的 PHP 版本。
这是一个关于如何做的非常快速的指南,我应该在 Stack Overflow 上解决这个问题:
您可以将其视为对我有用的汇编,因为接受的答案没有效果,而是得分明显较低的答案。
同样,我看到的每个指南都没有提到用户在源问题上回答的一些要点。
我发布这篇文章是因为我最近在使用 MAMP 堆栈设置虚拟主机时遇到了很多麻烦,因为 Apple 在 Mac OS 10.8 的默认 Apache2 安装上限制了可用的 PHP 版本。
这是一个关于如何做的非常快速的指南,我应该在 Stack Overflow 上解决这个问题:
您可以将其视为对我有用的汇编,因为接受的答案没有效果,而是得分明显较低的答案。
同样,我看到的每个指南都没有提到用户在源问题上回答的一些要点。
确保您指定要监听的端口,对我来说,我指定了8080
. 这一系列指令就是这种情况。
Listen 8080
- 默认为 80
/etc/hosts
文件以欺骗您的环回地址 127.0.0.1127.0.0.1 localhost
127.0.0.1 some.example # domain-name.domain-TLD
127.0.0.1 www.some.example # The same as the above line, but with www. prefixed
你真的应该在你的网络服务器、Apache 或 Nginx (或你使用的任何其他东西)上为子域添加一个句柄。将 www 路由到非 www 的东西。
httpd.conf
位于 Apache2 子目录中的文件。通常在/conf
Include conf/extra/httpd-vhosts.conf
LoadModule log_config_module modules/mod_log_config.so
httpd-vhosts.conf
你可以注释掉文件中的两个示例虚拟主机。通常在/conf/extra
<VirtualHost *:80> # Change the 80 to the number Apache2 "Listen"s on. In my case, 8080 ServerName SERVER-ADDRESS # E.g. mywebsite.local ServerAlias WWW.SERVER-ADDRESS # E.g. www.mywebsite.local DocumentRoot " SERVER-FILE-ROOT " # E.g. "Users/user-name/Sites" <Directory /> # This should be a full path, though Require all granted # Required for permission errors Options Indexes FollowSymLinks Includes ExecCGI AllowOverride none </Directory> </VirtualHost>
一旦您的虚拟主机已根据您的喜好进行编辑,您只需重新启动 Apache 即可享受。
本指南已包含已实施的修复程序,但万一您仍然遇到权限错误:
DocumentRoot
的文件不在您的用户明确拥有的任何文档中。如果需要,"Read Only"
请在 Mac 上为该特定文件夹授予“所有人”的访问权限,例如“文档”或“电影”等....尽管上面的答案很容易解释,但是当您将虚拟主机迁移到 apache 2.4 时,以下两件事是最重要的
去wamp/bin/apache/apache2.4.x/conf/httpd.conf
查找#Include conf/extra/httpd-vhosts.conf
并取消注释Include conf/extra/httpd-vhosts.conf
将虚拟主机添加wamp/bin/apache/apache2.4.x/conf/extra/httpd-vhosts.conf
为
<VirtualHost *:80>
ServerAdmin admin@localhost.com
DocumentRoot "H:/Wamp/www/mysite"
ServerName mysite
ServerAlias mysite
<Directory />
Require all granted
</Directory>
</VirtualHost>
注意:<Directory **/**>
/ 很重要