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没有生效

阿帕奇启用伪静态需要两个条件

  1. 伪静态模块需要开启:搜索 LoadModule ,并在最前方取消注释
  2. 虽然引入了伪静态,但也要配置某个网站是否开启:  搜索 Directory 并把其中的 AllowOverride None 改为 AllowOverride all

附加:

  如果网站还有其他异常很可能就是网站目录开放的权限低:chmod -R 777 wwwroot #wwwroot为你的网站根目录

  以上配置都是分为全局和单项配置的,单项配置可以在http-vhosts.conf中配置,全局配置直接按照教程来即可,单项配置优先级高于全局配置,全局配置用作默认。


 

posted @ 2020-08-11 23:16  敬你  阅读(581)  评论(0)    收藏  举报