MAC本apache+php配置虚拟域名时踩的坑

时间:2023-03-09 02:22:05
MAC本apache+php配置虚拟域名时踩的坑

昨天在调试Mac自带的Apache+PHP配置域名时,调试的让我怀疑人生。顿时心里一万个*,我就是配置个虚拟域名啊,这么让我受伤 。

1 首先检查一下Apache是否开启,

qutao@bogon  ~/workspace  apachectl -version
Server version: Apache/2.4. (Unix)
Server built: Apr ::
qutao@bogon  ~/workspace 

2 再看看PHP是否正常开启

 qutao@bogon  ~/workspace  PHP -v
PHP 7.1. (cli) (built: Apr ::) ( NTS )
Copyright (c) - The PHP Group
Zend Engine v3.1.0, Copyright (c) - Zend Technologies
qutao@bogon  ~/workspace 

发现 Apache+PHP都正常运行 那就OK

3 配置项目路径,我自己的项目路径是 /Users/qutao/workspace,而Apache默认的项目路径在/Library/WebServer/Documents

修改文件/private/etc/apache2/httpd.conf的项目入口目录

# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/Users/qutao/workspace" #同时打开PHP7 LoadModule php7_module libexec/apache2/libphp7.so

#LoadModule perl_module libexec/apache2/mod_perl.so

4 该配置Apache的虚拟主机名了

/private/etc/apache2/extra/httpd-vhosts.conf

<VirtualHost *:>
DocumentRoot "/Users/qutao/workspace"
ServerName local_dev.com
# ErrorLog "/private/var/log/apache2/test-error_log"
# CustomLog "/private/var/log/apache2/test-access_log" common <Directory "/Users/qutao/workspace">
AllowOverride none
Require all denied
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
</VirtualHost>

5 修改一下hosts  目录结构/private/etc/hosts

127.0.0.1       localhost
255.255.255.255 broadcasthost
:: localhost
127.0.0.1 local_dev.com

6 配置完重启一下 Apache

 sudo apachectl restart

开始访问自己的主机名local_dev.com

浏览器就开始未找到域名地址,这就纳闷了 怎么还这样了呢

MAC本apache+php配置虚拟域名时踩的坑

然后我就开始看下Apache 的日志啦 , 也没看出啥端倪,看着都没啥毛病,就是访问不通呢

然后我就吧 虚拟主机的访问的日志 及错误日志都打开 再试试看 ,最后还是无果

那我就改个域名试试,抱着试试的态度

127.0.0.1       localdev.com

虚拟主机名字也改为同上,然后在访问一下奇迹了

MAC本apache+php配置虚拟域名时踩的坑

然后就开始了我的百度问答,为什么local_dev.com, apahce不支持呢, localdev.com 就可用呢?

把百度的别人的原话粘贴过来

其实这里有个RFC 952规范 :

A "name" (Net, Host, Gateway, or Domain name) is a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9), minus sign (-), and period (.)

//规范指出域名只能是字母、数字和短线(-)还有点(.)。

不知道是否是这样Apache 就不进行解析了,可以请大家指教