, я запускаю nginx-1.14.0
с php-fpm7.2
. Когда я обращаюсь к файлам php, которые находятся в корне
, они правильно отправляются через fastcgi, и их php правильно оценивается. Однако, когда я обращаюсь к файлам php - даже с тем же содержимым - из вторичных каталогов сайта, они отправляются обратно как данные BIN
и не отправляются через fastcgi для оценки как php. Я добавил следующий раздел в свой файл конфигурации nginx, и он работает правильно. Но в этом месте не используется PHP, и поэтому похоже, что ошибка связана именно с fastcgi.
location ~ ^/(junk)($|/.*) {
alias $1$2;
autoindex on;
}
Может ли кто-нибудь придумать что-нибудь в fastcgi или php-fpm, что могло бы вызвать мою проблему?
Я добился того, что он заработал через множество проб и ошибок. Я не уверен, почему мне не удалось заставить оригинал работать, но следующее работает правильно и возвращает тот же результат для всех трех URL ... http://example.com/fm
, http://example.com/fm/
и http://example.com/fm/index.php
...
rewrite ^/(fm)$ /$1/ permanent;
location ~* ^/(fm)/(.*)$ {
index index.php;
alias /usr/share/nginx/$1/$2;
try_files "" /$1/index.php;
include phpsite_params;
}
Мне нужно было переписать, потому что Я не мог понять, как заставить это работать для http://example.com/fm
, если бы шаблон местоположения был таким: ^ / (fm) (/?.*) $
На сайте / fm /
есть подкаталоги, такие как icon
, поэтому относительные URL-адреса, такие как icon / icon1.jpg
, должны работать в дополнение к URL /fm/index.php
.
Если кто-нибудь может предложить способ заставить все это работать без перезаписи
, я буду признателен.