示例:访问地址www.abc.com/getApache.php
1、使用二级域名 bbs.abc.com/getApache.php直接下载了,查看 Content-Type: application/x-httpd-php
2、使用端口 www.abc.com:7272/getApache.php ,得到正常返回数据 Content-Type:text/html; charset=UTF-8
找各种原因了开始,然后发现httpd.conf配置文件中有这样一段:
#PHP
<FilesMatch \.php$>
SetHandler "proxy:unix:/tmp/php-cgi-56.sock|fcgi://localhost"
</FilesMatch>
官方解释:
<FilesMatch> 指令
说明 包含作用于与正则表达式匹配的文件名的指令语法 <FilesMatch regex> ... </FilesMatch>
作用域 server config, virtual host, directory, .htaccess
覆盖项 All
状态 核心(C)
模块 core
<FilesMatch>指令就像<Files>指令一样提供了针对文件名的访问控制。然而,它使用的是正则表达式。比如说:
<FilesMatch "\.(gif|jpe?g|png)$">
将匹配最常见的internet图形文件格式。
然后我把这些放到了httpd-vhost.conf中显示一致了就。我理解上面一段的意思是,后缀为php的文件执行的时候会过滤,如果没加上这一段文字,就会起到保护作用,不能访问php文件