J’ai un programme hérité que je dois exécuter avec l’extension de .cgi (search.cgi), mais j’ai réécrit ce code en utilisant PHP.
Comment puis-je dire à Apache de référencer search.cgi mais de le faire exécuter search.php?
Utilisez le mod de réécriture d’urache d’apache. Quelque chose comme
RewriteEngine on RewriteRule ^/search.cgi$ /search.php [QSA]
Vous pouvez changer search.cgi par ixsearch.cgi Ou plus général
RewriteEngine on RewriteRule ^/([a-z0-9_\-]+)\.cgi$ /$1.php [NC, QSA]
Cela réécrira toute URL yourdomain.com/{some_scriptname}.cgi dans votredomaine.com/ descripteur_de_fichiersname désormais}.php (et réécrivant le paramètre request GET grâce à la clause QSA), le nom du script peut contenir n’importe quelle lettre entre a et z ou numer ou char comme – ou _ (ex jus de tomate). De plus, il est insensible à la casse (grâce à la clause NC)
Utilisez mod_rewrite pour réécrire les requêtes de search.cgi à search.php.
Il suffit de l’écrire en tant que CGI standard, comme vous l’avez fait, mais de l’exécuter à l’aide de la version de ligne de commande de PHP afin qu’il fonctionne comme un CGI standard.