J'essaie de migrer d'apache vers nginx. Les sites php que j'héberge doivent accéder à une bibliothèque partagée qui s'avère être un répertoire alias. Les fichiers html fonctionnent bien, mais les fichiers php donnent 404. J'ai lu et essayé la plupart (sinon toutes) des réponses aux questions similaires, sans succès. Avez-vous une idée de ce qui pourrait causer le problème dans mon cas ?
location /wtlib/ {
alias /var/www/shared/wtlib_4/;
index index.php;
}
location ~ /wtlib/.*\.php$ {
alias /var/www/shared/wtlib_4/;
try_files $uri =404;
if ($fastcgi_script_name ~ /wtlib(/.*\.php)$) {
set $valid_fastcgi_script_name $1;
}
fastcgi_pass 127.0.0.1:9013;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/shared/wtlib_4$valid_fastcgi_script_name;
fastcgi_param REDIRECT_STATUS 200;
include /etc/nginx/fastcgi_params;
}
Merci à tous !
Mise à jour : La suite semble fonctionner correctement :
location /wtlib/ {
alias /usr/share/php/wtlib_4/;
location ~* .*\.php$ {
try_files $uri @php_wtlib;
}
location ~* \.(html|htm|js|css|png|jpg|jpeg|gif|ico|pdf|zip|rar|air)$ {
expires 7d;
access_log off;
}
}
location @php_wtlib {
if ($fastcgi_script_name ~ /wtlib(/.*\.php)$) {
set $valid_fastcgi_script_name $1;
}
fastcgi_pass $byr_pass;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/php/wtlib_4$valid_fastcgi_script_name;
fastcgi_param REDIRECT_STATUS 200;
include /etc/nginx/fastcgi_params;
}