dient, werden einige PHP URLs gedownloadet, anstatt von Nginx ausgeführt zu werden. Ich habe eine bestehende Web-Anwendung, die gut funktioniert. Ich habe die Aufgabe, zusätzliche gemountete Anwendungen in Ordnern der primären Anwendung hinzuzufügen. Jede dieser Anwendungen hat ihren eigenen Front Controller index.php
Skript.nginx, das einige PHP-URLs als Downloads anstelle von
Für dieses Setup habe ich Symlinks innerhalb $document_root/app
erstellt, und die Symlinks zeigen auf einen Ordner mit einem index.php
Front Controller.
Wenn ich zu den meisten URLs navigiere, funktioniert alles gut, der primäre Front Controller der Anwendung wird ausgeführt, und ich bekomme die erwarteten Ergebnisse. Wenn ich zu einer nicht existierenden App navigiere, bekomme ich 404 Not Found
von nginx, was erwartet wird. Wenn ich jedoch zu einer der Anwendungen navigiere, lädt der Browser den Front Controller der Anwendung herunter.
root /my/web/root;
location/{
try_files $uri
/$server_name$uri
/shared$uri
/index.php$is_args$args;
}
location ~ [^/]\.php(/|$) {
disable_symlinks off;
fastcgi_split_path_info ^(.+\.php\b)(.*)$;
fastcgi_param SERVER_NAME $host;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_pass php-fpm;
}
location ~ ^/app/([a-z-]+)(/.*)?$ {
try_files $uri
/app/$1/index.php$is_args$args
=404;
}
URL der Download-Trigger:/app/my-app/
(vorhanden)
URL die 404s:/app/foo/
(existiert nicht)
URL, die ausführt:/foo
Versuchen Sie den Speicherort für php auf 'location ~ [^ /] \. Php (/ | $)' –
Gleiches Ergebnis .... –