启用 apache、php

参考链接: https://fqk.io/mac-os-php-apache/

实践

重定向配置

1 . 编辑 httpd.conf

1
sudo vi /etc/apache2/httpd.conf

1.1 . 启用 rewrite 模块

1
LoadModule rewrite_module libexec/apache2/mod_rewrite.so

1.2 . 设置权限

1
2
3
4
<Directory />
AllowOverride All
Require all granted
</Directory>

2 . 设置域名和映射路径

2.1 编辑 hosts

1
2
3
4
5
6
7
8
sudo vi /etc/hosts

## 添加相关记录
## ========================== ##
## 域名请可以随便填写,强制重定向到 127.0.0.1
127.0.0.1 www.my_site.com
127.0.0.1 test.my_site.com
## ========================== ##

2.2 新建映射表

1
2
3
4
5
6
7
8
sudo vi ${YOUR_PATH}/vhost.map

## ========================== ##
## 域名为 hosts 中添加过的域名
## SOME_PROJECT_PATH 替换为实际路径
www.my_site.com SOME_PROJECT_PATH
test.my_site.com SOME_PROJECT_PATH
## ========================== ##

2.3 启用映射表

1
2
3
4
5
6
7
8
9
10
11
12
sudo vi /etc/apache2/httpd.conf

## ========================== ##
## 在 httpd.conf 文件的最后加上下列代码
## 将 YOUR_VHOST_PATH 替换为实际路径
RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap vhost txt:YOUR_VHOST_PATH
RewriteCond ${lowercase:%{SERVER_NAME}} ^(.+)$
RewriteCond ${vhost:%1} ^(/.*)$
RewriteRule ^/(.*)$ %1/$1
## ========================== ##

3 . 重启 apache

1
sudo apachectl restart

此后,如有新工程调试,只需在 hosts 中添加域名,并编辑 vhost 文件,无需重启 apache,即可访问相应域名进行调试。

Tips

OS X 下个人目录的 LibraryDocuments等文件夹默认权限为 700,apache 用户 _www 无法访问,所以需要保证 vhost 指向的路径具有访问权限,将文件夹权限改为 755 即可。