Daily Weekly Monthly

Daily Shaarli

All links of one day in a single page.

February 10, 2023

Apache : AH01071: Got error Primary script unknown – PALC

Apache : AH01071: Got error Primary script unknown

Lors de la création d’un vhost sur Apache, une fois le code du site importé j’ai eu l’erreur suivante dans les logs :

  AH01071: Got error 'Primary script unknown\n'

Plusieurs pages du site affichaient également un File not found.

J’ai pas mal galéré avant de trouver l’origine du problème, et surtout comment le résoudre.

Le code PHP du client était exécuté via FPM, avec la directive suivante :

   ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/palc.fr/$1

Mais à la racine de son site, un fichier .htaccess était rempli de règles de ce style :

   RewriteRule ^/gallery/index.php /phototheque.php [NC,L]
   RewriteRule ^/gallery/client.php /phototheque-client.php [NC,L]

Le problème c’est que le ProxyPassMatch est exécuté avant les RewriteRule du .htaccess. Du coup, quand on demande une page PHP correspondant à une RewriteRule, Apache va d’abord essayer de l’exécuter avec FPM et retourner une erreur, puisque le fichier PHP n’existe pas.

La solution est de demander à Apache de n’utiliser FPM que si le fichier existe. Il faut remplacer

        ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/palc.fr/$1

Par :

   <FilesMatch \.php$>
    SetHandler "proxy:fcgi://127.0.0.1:9000/"
   </FilesMatch>
Packs - winstall

Introducing Packs
Curate and share the apps you use daily