location ~ ^/install(\d+)/(app|config|data)/ {
deny all;
}
~
— case sensitive^
— начало строки(\d+)
— одна или более цифр(app|config|data)
— совпадает с app или config или datalocation ~ /(msk|spb|sam|etc)/?$ {
## вариант 1. не уверен что это хорошая идея
#error_page 301 =200 /index.php?city=$1&$query_string;
#return 301;
## вариант 2
#try_files $uri $uri/ /index.php?city=$1&$query_string;
## вариант 3
fastcgi_pass php_fpm;
include fastcgi_params;
fastcgi_param QUERY_STRING city=$1&$query_string;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
}
## Serve static
## root укажите, если надо
## такая регулярка лучше
location ~* \.(?:js|css|png|jpe?g|gif|ico|htc)$ {
expires max;
access_log off;
log_not_found off;
}
location / { try_files $uri $uri/ @php; # пробуем найти файл, если его нет идём на именованную локацию } ## for php-fpm location @php { ## NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini fastcgi_pass php_backend; # upstream ## fastcgi_params include fastcgi_params; fastcgi_param QUERY_STRING action=$uri&$query_string; fastcgi_param SCRIPT_FILENAME $document_root/go.php; }
## Microcosm
location /api/
#location ~ ^/api/(.*)
{
## NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
fastcgi_pass php_backend; # указать upstream
root /path/to/microcosm/m/; # каталог с microcosm.php или прописать $document_root
fastcgi_index microcosm.php;
include fastcgi_params;
#fastcgi_param QUERY_STRING $query_string;
#fastcgi_param REQUEST_URI $1;
fastcgi_param SCRIPT_FILENAME $document_root/microcosm.php;
}