Die try_files-Direktive in meiner Nginx-Konfigurationsdatei scheint nur in bestimmten Situationen zu funktionieren. Hier ist, was ich arbeite mit:Nginx try_files funktioniert nicht für URLs mit Endung .php
location/{
try_files $uri $uri/ /route.php?_route_url=$uri;
}
Wenn ich navigieren es richtig /admin/popups/image.php lädt, weil das eine vorhandene Datei - (ich glaube, dies ist die erste arg in der try_files Aussage schlagen). Wenn ich auf/admin/webpages/es richtig lade - das wäre der dritte arg -/admin/webpages/existiert nicht und route.php zieht eine Datei unter /modules/webpages/admin/index.php. Wenn ich zu /admin/webpages/edit.php gehe, bekomme ich einen 404. Es scheint mir, dass es den dritten arg in den try_files treffen und arbeiten sollte. Wenn ich zu /route.php?_route_url=/admin/webpages/edit.php navigiere, funktioniert es gut.
Ich habe mir diesen Kopf für ein bisschen geschlagen und ich kann es nicht herausfinden. Ich bin sicher, es ist etwas Einfaches, aber ich kann es nicht sehen. Vielen Dank.
UPDATE: Bei der weiteren Untersuchung scheint es, dieser Block nicht die Änderung reflektiert, die in dem try_files oben passieren sollen:
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors off;
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
}
Nicht sicher, ob das wird helfen. Ich schätze, ich muss den Originalblock vor diesem aktivieren. Dank
Ich habe das mehrmals getan. Vielen Dank. – user2532598