location {PATH}/ { alias {DESTDIR}/web/public/; index index.php; if ($scheme = http) { rewrite ^ https://$server_name$request_uri? permanent; } # The seemingly weird syntax is due to a long-standing bug in nginx, # see: https://trac.nginx.org/nginx/ticket/97 try_files $uri {PATH}/{PATH}/index.php$is_args$args; # Another alternative to the weird try_files is to use a rewrite, like this : # #  if (-f $request_filename) { # break; # } #  rewrite (.*) {LOCATION}/index.php$request_uri; # # But remember that if-is-evil : # https://www.nginx.com/resources/wiki/start/topics/tutorials/config_pitfalls/#check-if-file-exists location ~ ^{PATH}/index\.php(/|$) { fastcgi_split_path_info ^(.+?\.php)(/.*)$; fastcgi_pass unix:/var/run/php5-fpm-{POOLNAME}.sock; fastcgi_index index.php; include fastcgi_params; fastcgi_param REMOTE_USER $remote_user; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $request_filename; } location ~ \.php$ { return 404; } # Include SSOWAT user panel. include conf.d/yunohost_panel.conf.inc; } # append trailing slash in case of a subpath location = {LOCATION} { return 302 {PATH}/; }