Francis,
We are going in circles without reaching a solution. I think what I asked is very clear and simple:
How do I avoid repeating a segment of configuration code assigned to @php into various locations:
location @php {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass fastcgi;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;
include fastcgi.conf;
}
The above configuration will never change, regardless in what location is used:
location ^~ /alpha {
auth_basic "Restricted Access";
auth_basic_user_file htpasswd;
try_files $uri $uri/ /alpha/index.php?$uri&$args;
location ~ \.php$ {
try_files @php =404;
}
}
location ^~ /beta {
try_files $uri $uri/ /beta/index.php?$uri&$args;
location ~ \.php$ {
try_files @php =404;
}
}
If I replace the @php contents into /beta location, everything works.
location ^~ /beta {
try_files $uri $uri/ /beta/index.php?$uri&$args;
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass fastcgi;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_script_name;
include fastcgi.conf;
}
}