花了好几天时间做这个事,终于成功,把正确的做法记录一下。

如果是第一次使用apache,可以先执行sudo apachectl start,然后在浏览器里打开http://localhost看看效果,
如果显示It Works!说明apache正常,接下来就可以来做虚拟目录设置了。
首先,apache2在/private/etc/apache2目录,当然网上很多资料只提到/etc/apache2,其实指的是同一个目录,原因就不详说了。
然后,打开httpd.conf文件:sudo nano /etc/apache2/httpd.conf
虽然vi是编辑神器,但是我不怎么会用,nano也是第一次用,但是下方有提示,容易上手,而且设置里的操作也不多,适合不会vi的人使用。
按ctl+W进行查找,查找vhosts.conf字符,找到Include /private/etc/apache2/extra/httpd-vhosts.conf这行,如果前面有#,把#删除,然后ctl+X,Y,ctl+T,httpd.conf一连串操作进行保存。我只会这种笨方法来保存,如果你会更简单的最好。
很多资料上说还有一些其他的设置,我也试过,但当我成功实现了虚拟目录设置后,试着把这些设置还原,也并没有产生任何影响,至少在我的机器上,这些设置是没有起什么关键作用的,要不要做这些操作你来做主。
然后执行sudo apachectl -t,这个命令是用来检查apache的一些配置文件的语法是否正确的,如果访问服务时在浏览器里显示连接不上服务器,就有必要用这个命令来检查一下是不是哪个文件有问题了。
httpd-vhosts.conf这个文件是用来设置虚拟目录的,所以下面要在这个文件里设置自己指定的工作目录。
执行sudo nano /etc/apache2/extra/httpd-vhosts.conf,把文件中已有的两个配置注释掉

#<VirtualHost *:80>

#    ServerAdmin webmaster@dummy-host.example.com

#    DocumentRoot "/usr/docs/dummy-host.example.com"

#    ServerName dummy-host.example.com

#    ServerAlias www.dummy-host.example.com

#    ErrorLog "/private/var/log/apache2/dummy-host.example.com-error_log"

#    CustomLog "/private/var/log/apache2/dummy-host.example.com-access_log" com$

#</VirtualHost>

#<VirtualHost *:80>

#    ServerAdmin webmaster@dummy-host2.example.com

#    DocumentRoot "/usr/docs/dummy-host2.example.com"

#    ServerName dummy-host2.example.com

#    ErrorLog "/private/var/log/apache2/dummy-host2.example.com-error_log"

#    CustomLog "/private/var/log/apache2/dummy-host2.example.com-access_log" co$

#</VirtualHost>

然后添加自己的配置

<VirtualHost *:80>

DocumentRoot "/Users/用户名/projects"

ServerName www.sites.com

ErrorLog "/private/var/log/apache2/sites-error_log"

CustomLog "/private/var/log/apache2/sites-access_log" common

<Directory "/Users/用户名/projects">

Options FollowSymLinks Indexes

AllowOverride None

Order allow,deny

Allow from all

</Directory>

</VirtualHost>

这些是什么意思我也不多说了,总的来说就是指定虚拟目录、访问地址、虚拟目录访问权限。

然后保存并检查语法是否误。

最后,sudo nano /etc/hosts,在最后一行添加 127.0.0.1 www.sites.com

并保存。

最最后,sudo apachectl restart,重启apache服务,在浏览器里访问www.sites.com,你会看到自己工作目录下的文件和文件夹列表,恭喜,你成功了。

Mac 10.9 自带apache2虚拟目录设置的更多相关文章

  1. Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题

    1.xml/json数据解析 (1)xml数据解析 使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应 ...

  2. Nginx虚拟目录设置

    location ~ .*\.html$   匹配所有以.html结尾的链接 --------------------------------------------------------- 关于a ...

  3. 30天轻松学习javaweb_tomcat的虚拟目录设置

    1.在server.xml文件的</Host>前面加入.需要重新启动Tomcat才能生效.<!--配置虚拟目录--><Context path="/itcast ...

  4. 怎么访问不在网站目录下文件(iis虚拟目录设置)

    很多时候,上传的文件多了,架设服务器当初设定的主目录所在盘空间往往就不够了,怎么办?这就需要设置虚拟目录.虚拟目录就是将其他目录以映射的方式虚拟到该FTP服务器的主目录下,这样,一个FTP服务器的主目 ...

  5. Tomcat虚拟目录设置

    ssh $host "rm -fr /var/www/$tomcat_name/webapps/*" 远程分发war包部署tomcat项目时,需要先清除项目目录. -------- ...

  6. Centos7.6 Apache 虚拟机禁止访问IP,允许访问多域名多个虚拟目录设置

    存放配置文件路径 /etc/httpd/conf.d自定义命名,配置文件后缀格式确保 *.conf注:这是两个配置文件,也是两种方法. # 一个WEB目录# 禁止以IP地址形式访问<Virtua ...

  7. apache虚拟目录设置

    <VirtualHost *:80> DocumentRoot "/xampp/htdocs/f" ServerName f.e-elitech.net</Vir ...

  8. Mac Yosemite OS10.10 Apache 虚拟主机设置

    昨天睡觉前开始挂机下载OS10.10 Yosemite,早上6点半就很兴奋地起来安装新系统了.安装完成后打开界面,感觉真的大不一样了,很优很美,很喜欢. 在下载各种更新,体验各种新功能的同时,我也不忘 ...

  9. FTP的搭建与虚拟目录作用<之简单讲解>

    操作系统:win7 VS2010编写WebService与在IIS的发布<之简单讲解>中我已经说了IIS安装与使用,不明白的可以跳过去看. 1.添加FTP站点 2. 3. 4. 5. zq ...

随机推荐

  1. ubuntu openstack packaages

  2. ocp 1Z0-043 131-205题解析

    131. Which three methods can you use to run an Automatic Database Diagnostic Monitor (ADDM) analysis ...

  3. Spring Auto proxy creator example

    In last Spring AOP examples – advice, pointcut and advisor, you have to manually create a proxy bean ...

  4. C++中#include包含头文件带 .h 和不带 .h 的区别

    C++中#include包含头文件带 .h 和不带 .h 的区别? 如 #include <iostream> 和 #include <iostream.h> 包含的东西有哪些 ...

  5. 宏_CRTIMP分析

    CRTIMP是C run time implement的简写,C运行库的实现的意思. 作为用户代码,不应该使用这个东西. 该参数决定 运行时 到底用 动态链接库 还是静态链接 #ifndef _CRT ...

  6. iOS 8版本信息与屏幕尺寸

    原文  http://www.cnblogs.com/smileEvday/p/iOS8.html   1.UIWindow的bounds iOS 7之前Window的bounds不会随着方向而变化, ...

  7. 用C++ 自娱自乐

    最无聊的时光当属 考试前的复习时段了,在一些论坛上看到一些用字符组成的图像,觉得有点意思,于是,自己 用C++ 参考一些论坛的图像,写了下面这个东西,来表达此时的心情. #include<ios ...

  8. sql prompt格式设置

    sql prompt格式设置. 格式前: 格式后:

  9. DuiLib(一)——窗口及消息

    最近看了下开源界面库duilib的代码,写几篇相关的文章.网上已经有好多相关的文章了,我这里只是记录自己的学习过程,写到哪里算哪里,权当自娱自乐. duilib是一轻量级的direcui界面库,所谓d ...

  10. android常见错误-E/AndroidRuntime(13678): java.lang.NoClassDefFoundError:

    08-01 11:09:39.791: E/AndroidRuntime(13678): FATAL EXCEPTION: main 08-01 11:09:39.791: E/AndroidRunt ...