I\'m running nginx in a docker container. I want to have a subdirectory /web/ to access my personal files and projects. It should also support php.
Belo
If your files are in /etc/nginx/www you will need to use an alias directive, rather than a root directive. See this document for details.
For example:
location ^~ /web {
index index.php index.html;
alias /etc/nginx/www;
if (!-e $request_filename) { rewrite ^ /web/index.php last; }
location ~ \.php$ {
if (!-f $request_filename) { return 404; }
fastcgi_pass php:9000;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
}
}
Use $request_filename to obtain the correct path to the aliased file. Avoid try_files with alias due to this issue. See this caution on the use of if.