Que apache elija una versión de php basada en la extensión en la url, pero con un único file en el sistema de files

Quiero configurar un server apache local para que sirva files php con diferentes versiones php. En mi raíz de documento tengo phpinfo.php , ahora si voy a http://localhost/phpinfo.php4 , quiero ver el file phpinfo.php procesado con php4, si voy a http://localhost/phpinfo.php5 Quiero ver el mismo file procesado con php5.

Nota: tanto php 4 y 5 ya están instalados lado a lado, no tengo ningún problema para configurar apache para tratar los files que tienen una extensión. .php4 o .php5 en el sistema de files con la versión correcta de php. Lo que quiero es que apache haga lo siguiente:

  • Si el url-path termina en .php5 , sirva el file que tiene una extensión .php en el sistema de files usando el controller application/x-httpd-php5 .
  • Si el url-path termina en .php4 , sirva el mismo file con la extensión .php en el sistema de files usando el controller application/x-httpd-php4 .

One Solution collect form web for “Que apache elija una versión de php basada en la extensión en la url, pero con un único file en el sistema de files”

Después de un poco de ensayo y error me di count. Los encantamientos mágicos son

 RewriteEngine on RewriteRule ^(.*)\.php5$ $1.php [H=application/x-httpd-php,PT] RewriteRule ^(.*)\.php4$ $1.php [H=php4,PT] 

donde application/x-httpd-php es el manejador pnetworkingeterminado que mod_php5 registra, y php4 es un manejador cgi personalizado que llama a php4. La parte que más me costó averiguar es la bandera PT (passthrough), que es necesaria para que los manejadores cgi funcionen. PT hace que otros modules que hacen la reescritura de url también hagan su trabajo, y mod_cgi es tal module.

  • SOA: ¿Está utilizando PHP FPM para servir el tráfico webservice sin NGINX una buena idea?
  • manipular el directory activo con PHP?
  • cPanel en CentOS: PHP con ZIP?
  • PHP define en el file de configuration no se actualiza con nuevo valor
  • Ruta está presente, los permissions están bien, pero sigue recibiendo error
  • Buenos resources iniciales para la administración del sistema
  • ¿Compromiso entre packages de PHP frescos y seguros en serveres de producción?
  • MySQL Max Conexiones
  • php.d / *. ini no sobreponiendo php.ini en PHP 5.5
  • crear directory virtual en la instancia de Amazon
  • Nginx ignorando la request HTTP 1.0 del cliente y respondiendo por HTTP 1.1
  • El linux y los temas del servidor de Windows, como ubuntu, centos, apache, nginx, debian y consejos de red.