Mac用自带Apache搭建本地网站踩过的坑
1.Apache启动失败:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using jingnideMacBook-Pro.local. Set the 'ServerName' directive globally to suppress this message
原因:不能可靠地确定服务器的完全限定域名,使用jingnideMacBook-Pro.local。全局设置“ServerName”指令以禁止此消息

解决办法:设置ServerName即可解决,在httpd.conf中把 #ServerName www.example.com:80 取消注释,或自己加入一行:
ServerName localhost #可以不用带80端口,默认Listen已经监听好了
2.配置 httpd-vhosts.conf 文件后依然无法访问网站
原因:Apache默认没有Include包含httpd-vhosts.conf文件,需要我们手动去包含
解决办法1:创建一个httpd.vhosts.conf文件并新增一行:
Include 创建文件的绝对路径+创建的文件名 #无需引号
解决办法2(推荐): Ctrl+F 搜索 httpd-vhosts.conf ,在搜索命中行最前端取消 # 注释

3.访问所有页面都403 或者访问根目录 或访问 / 直接下载index.php文件
描述:这是apache2默认的访问控制 RequireAll 设置了屏蔽所有请求的原因,如果需要深入了解请看:
https://www.cnblogs.com/leoyu/p/apache24_use_require_for_access_control_by_ip_and_useragent.html

解决办法 : CTRL + F 搜索 Require all denied ,并在此处
将denied 改为 granted 即可解决问题
4.伪静态设置.htaccess没有生效
阿帕奇启用伪静态需要两个条件
- 伪静态模块需要开启:搜索 LoadModule ,并在最前方取消注释
- 虽然引入了伪静态,但也要配置某个网站是否开启: 搜索 Directory 并把其中的 AllowOverride None 改为 AllowOverride all
附加:
如果网站还有其他异常很可能就是网站目录开放的权限低:chmod -R 777 wwwroot #wwwroot为你的网站根目录
以上配置都是分为全局和单项配置的,单项配置可以在http-vhosts.conf中配置,全局配置直接按照教程来即可,单项配置优先级高于全局配置,全局配置用作默认。

浙公网安备 33010602011771号