У меня установлена Cockpit CMS , и с этим файлом conf все реальные папки, в которых у меня есть файлы или дочерние сайты, к которым я хочу предоставить общий доступ или к которым я хочу получить доступ, интерпретируются как страницы 404, я полагаю, из-за этой части:
location / {
try_files $uri /index.php$uri?$args;
}
Затем мне нужно указать каждую ссылку и папки, чтобы разрешить доступ. Это немного сдерживает. У вас есть идея избежать этого?
server {
listen 443 ssl;
...
server_name site.com;
root /var/sites/_site.com/www;
index index.php index.html;
location / {
try_files $uri /index.php$uri?$args;
}
location /cockpit {
try_files $uri $uri/ /cockpit/index.php;
}
# Enable PHP with path_info
location ~ ^(.+\.php)($|/) {
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
# Files index
location /files { autoindex on; }
location /specific-link {}
location /specific-folder {}
}
Может быть, эта синтаксическая вариация поможет вам?
try_files $uri $uri/ /index.php$uri?$args;
Она пробует как папки, так и файлы перед тем, как передать их в бэкэнд, если они физически не существуют.