给客户上了一套页面,用的apache2.2.15,然后客户赶时髦,用貌似坑爹绿盟的东西扫我们的页面,结果扫出一堆apache的漏洞出来,要我们更新到apache最新版,也就是2.4.xx,结果配置上很多东西都不通用。
apache2.2.15有个对于php支持的配置:
AddType application/x-httpd-php .php .phtml .cgi
Action application/x-httpd-php "/usr/bin/php-cgi"我直接复制到apache2.4里面,结果页面测试提示:
“Not Found
The requested URL /usr/bin/php-cgi/aaa.php was not found on this server.”请教我还需要改什么地方的配置吗? 或者有什么模块需要加载,或者其他问题的?

解决方案 »

  1.   

    The requested URL /usr/bin/php-cgi/aaa.php was not found on this server.”
    请求的url不在这台服务器上
      

  2.   


    知道啊,在apache2.2.15里面,这个配置的意思是用/usr/bin/下的php-cgi程序来解析php文件,而这个配置到apache2.4里面,php-cgi却变成了一个路径。
      

  3.   

    我在使用apache2.2.15的时候,并不是将php编译成apache的一个module,而是单独的一个可执行程序:php-cgi,然后在apache的配置文件将通过配置项(Action application/x-httpd-php "/usr/bin/php-cgi"),来让apache用php-cgi来解析php文件。然而我装apache2.4以后,php原封不动,同样想通过(Action application/x-httpd-php "/usr/bin/php-cgi")来达到相同的目的,结果报错“404 Not Found The requested URL /usr/bin/php-cgi/aaa.php was not found on this server.”,看提示,是将php-cgi变成了一个目录,而实际上,我的aaa.php是放在/var/www/html/下的。
      

  4.   

    2.4与2.2有区别的
    参考:http://blog.csdn.net/fdipzone/article/details/40512229
    http://www.tuicool.com/articles/IrMvYbe
      

  5.   


    怪我1楼没写清楚,并不是页面打不开的问题,而是用php-cgi解析php文件的问题,具体就是我3楼补充的。