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

如果是第一次使用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. 转:高性能Mysql主从架构的复制原理及配置详解

    温习<高性能MySQL>的复制篇. 1 复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台 ...

  2. 成都Uber优步司机奖励政策(3月5日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  3. homework6-更加简单的题目

    又把时间搞错了 以为这次要写客户端程序的博客 没想到这次是“怎么吃” 言归正传 cnblog上面有很多技术博客 http://perhaps.cnblogs.com/archive/2005/08/0 ...

  4. Hibernate之QBC查询与本地SQL查询

    1. QBC查询:     QBC 查询就是通过使用Hibernate提供的QueryByCriteria API 来查询对象,这种API封装了SQL语句的动态拼装,对查询提供了更加面向对象的功能接口 ...

  5. Handler笔记

    5.Handler内存泄露 在一个Activity里面,如果没有静态地创建一个Handler,有可能导致内存泄露. 因为Hander和Looper绑定,如果looper的MessageQueue有消息 ...

  6. HDU 4884 TIANKENG’s rice shop (模拟)

    TIANKENG's rice shop 题目链接: http://acm.hust.edu.cn/vjudge/contest/123316#problem/J Description TIANKE ...

  7. Rop 文件上传解决思路

    由于服务请求报文是一个文本,无法直接传送二进制的文件内容,因此必须采用某种转换机制将二进制的文件内容转换为字符串.Rop 采用如下的方式对上传文件进行编码:<fileType>@<B ...

  8. 跟Android自带模拟器说拜拜,Mac Genymotion 使用心得

    今天看到网上一片文章点击打开链接,很是激动,套用原作者的话,性能卓越作为历史上最快的Android模拟器(没有之一),秒级开机关机速度足够让你膜拜了(粗略估计5-20s不等),我的Mac上面运行And ...

  9. npm package 装包匹配原则

    经常看到package.json 里面有这样的devDependencies: "devDependencies": { "@angular/common": ...

  10. cocos2d-x CCArray

    转自:http://blog.csdn.net/onerain88/article/details/8164210 1. CCArray只是提供了一个面向对象的封装类 其继承于CCObject类(CC ...