之前一直用的Apache2.2+PHP5.3环境,现在项目需要用ThinkPHP5框架,但是ThinkPHP5是基于PHP5.4的,但是PHP高于5.3的版本Apache2.2是无法运行的,这是一系列相关的问题,于是决定重新配置环境
z<]bv7V 8dK0o>|} 新的集成环境是Apache2.4+PHP5.6的,按照原来虚拟站点配置,把原有的站点配置原封不动复制到Apache\conf\extra\httpd-vhosts.conf,并且打开了httpd.conf中的“Include conf/extra/httpd-vhosts.conf“。
YwH./)r= c-j_IN Gm 以前的所有虚拟站点都可以正常访问,然而,localhost访问却提示The requested URL / was not found on this server.
ji+{ :D ,)~E>[=+ 百度发现,发布这种问题的教程很多,大部分都是修改httpd.conf里面的配置,千篇一律,但没有一个适用的,无一能解决问题,
g<\z= H F=)eLE{W 然然后无意中发现httpd.conf中有一行Include conf/vhosts.conf,怎么又引入一个虚拟主机配置文件,因为上面已经打开了
3kmeD". P,bd' Include conf/extra/httpd-vhosts.conf(这一行默认是注释状态的),似乎找到症结所在。
O_K_f+7 oQ+61!5> Apache版本升级到2.4之后,新版本的虚拟域名配置文件变为Apache\conf\vhosts.conf,可能处于版本兼容性的考虑,原配置文件Apache\conf\extra\httpd-vhosts.conf仍然有效,但是需要注意httpd-vhosts.conf中
b~7drf !F!3Q4 # First Virtual Host must be a shallow duplicate of the main host
G%TL/Z40 # in httpd.conf
6xgv:, Uz8hANN0_ <VirtualHost _default_:80>
"PpjoM
~ DocumentRoot "......"
iRmQ5ezk #ServerName
www.example.com:80 <xS=# </VirtualHost>
=;c_} VY : \V,k~asl DocumentRoot 参数需要和httpd.conf中DocumentRoot 参数值保持一致