У меня есть HTTP-сервер Nginx с PHP-FPM, и почти все работает нормально. Я хочу, чтобы иметь возможность перейти на path/to/file
и он дает мне index.php?url=path/to/file
, который он делает. Однако он загружает фактический PHP, он не будет выполнять его в браузере. Я не уверен, что вызывает это.
Конфигурация Nginx:
server { listen 80; server_name sandbox.domain.tld; access_log /path/to/domain/log/sandbox.access.log; error_log /path/to/domain/log/sandbox.error.log; location / { root /path/to/sandbox; index index.php; if (!-e $request_filename) { rewrite ^/beta/(.+)$ /beta/index.php?url=$1 break; } } location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include /usr/local/nginx/conf/fastcgi_params; fastcgi_param SCRIPT_FILENAME /path/to/sandbox$fastcgi_script_name; }
Попробуйте изменить
rewrite ^/beta/(.+)$ /beta/index.php?url=$1 break;
в
rewrite ^/beta/(.+)$ /beta/index.php?url=$1 last; break;
Который должен заставить nginx перечитать URI и обработать его соответствующим образом.