apache是mac下是默认就有的,我们只需使用命令开启、暂停和重启就好了
sudo apachectl start
sudo apachectl stop
sudo apachectl restart
但是这个apache 开启后,默认访问的是 /Library(资源库)/WebServer/Documents/ 目录,因此我在当前用户名 ay 下建立一个 Sites 文件夹,让其默认访问到这个文件,所以我需要对 /etc/apache2/httpd.conf 文件,进行了修改:
打开 httpd.conf文件,将
#DocumentRoot "/Library/WebServer/Documents" #<Directory "/Library/WebServer/Documents">
改为:
DocumentRoot "/Users/ay/Sites" <Directory "/Users/ay/Sites">
然后重启apache ,打开浏览器访问 localhost 就会默认访问到当前用户的 Sites 文件夹了。
但是这样修改后,/etc/apache2/users/ay.conf 配置文件就会失效。
/etc/apache2/users/ay.conf 是当前用户的名称,这个文件是 apache 对当前用户的配置文件。然而将 DocumentRoot 和 Directory 修改后,将会导致类似的文件失效。
既然这样设置后已经失效,那我们如何设置虚拟主机呢?
步骤如下:
1、打开 /etc/apache2/httpd.conf 文件,添加你要访问的端口号:
Listen 2000
2、打开 /etc/apache2/httpd.conf 文件,找到 #Include /private/etc/apache2/extra/httpd-vhosts.conf ,去掉前面的 # ,开启虚拟主机配置。
3、再找到 #LoadModule rewrite_module libexec/apache2/mod_rewrite.so ,去掉前面的 # ,来开启重写配置。
4、打开 /etc/apache2/extra/httpd-vhosts.conf 文件,添加如下代码:
NameVirtualHost *:2000
<VirtualHost *:2000> DocumentRoot "/Users/ay/Sites/requirejs-demo" ServerName require RewriteEngine On RewriteRule ^/(?!asset).* /Users/ay/Sites/requirejs-demo/index.html </VirtualHost>
5、重启 apache ,打开浏览器访问 localhost:2000 即可访问到 /Users/ay/Sites/requirejs-demo 目录了。
特别注意,mac对目录文件是区分大小写的。