Cas 2 : Utilisation de la directive de compilation cgi.force_redirect
La directive de configuration cgi.force_redirect évite qu'un appel direct à un script PHP avec une URL comme http://my.host/cgi-bin/php/secretdir/script.php ne soit possible. A la place, PHP analysera le fichier uniquement s'il y a eu redirection. Avec PHP antérieur à la version 4.2.0, vous deviez utiliser l'option de compilation --enable-force-cgi-redirect pour faire la même chose.
Habituellement, la redirection est effectuée grâce aux directives suivantes dans la configuration du serveur Apache :
Action php-script /cgi-bin/php AddHandler php-script .php
Cette option a uniquement été testée avec Apache, et compte sur Apache pour affecter la variable d'environnement non-standard REDIRECT_STATUS pour les requêtes redirigées. Dans le cas où votre serveur web ne supporte aucune manière d'indiquer si la requête a été redirigée ou non, vous ne pourrez pas utiliser cette option de compilation. Vous devrez alors utiliser une des autres méthodes d'exploitation de la version binaire CGI de PHP, comme exposé ci-dessous.