PHP-приложение в подкаталоге в Nginx - PullRequest
0 голосов
/ 06 июня 2018

Я использую Ubuntu 16.04, Nginx 1.10.3 и PHP 7.0.Примерами PHP-приложений являются CodeIgniter 3.1.5.

Я пытаюсь запустить статическую страницу в корне моего сайта www.example.com (работает) с несколькими другими приложениями CodeIgniter, каждое из которых работает в подкаталогах на www.example.com/client-a, www.example.com/client-b и т. д.

Статическая страница в моем корне работает нормально, однако при перенаправлении на приложения в подкаталогах ни одна из таблиц стилей искрипты загружаются, что приводит к 404 ошибкам.Маршрутизация работает, хотя.

Файлы приложений последующих приложений не существуют друг в друге. Корень приложения существует в /var/www/example/public_html, тогда как «вложенные» приложения живут в /var/www/client_a/public_html, /var/www/client_b/public_html и т. Д.

Вот мой блок серверов Nginx:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    server_name example.com www.example.com;    
    root /var/www/example/public_html;

    index index.php index.html index.htm;       

    location / {
        try_files $uri $uri/ /index.php$is_args$args;
    }

    location /client-a {
            alias /var/www/client_a/public_html;
            try_files $uri $uri/ @nested;

            location ~ \.php$ {
                include snippets/fastcgi-php.conf;
                fastcgi_param SCRIPT_FILENAME $request_filename;
                fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
            }
    }

    location @nested {
        rewrite /client_a/(.*)$ /client_a/index.php?/$1 last;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    location ~*  \.(jpg|jpeg|png|gif|ico|css|js)$ {
        expires 30d;
    }

    location ~ /\.ht {
        deny all;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...