Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
nginx:alias [2018/01/18 19:03] – создано mirocownginx:alias [2021/09/28 14:35] (текущий) mirocow
Строка 1: Строка 1:
 +{{tag>nginx server route alias}}
 +
 ====== Перенаправление обработки скрипта в другую папку ====== ====== Перенаправление обработки скрипта в другую папку ======
 +
 +<code nginx>
 +server {
 +                                listen 192.168.1.1:80;
 +                                server_name site.ztc ;
 +                                root /home/site.ztc/httpdocs/app/frontend/web;
 +                                index index.php;
 +                                access_log /home/site.ztc/logs/access.log;
 +                                error_log  /home/site.ztc/logs/error.log error;
 +                                charset utf-8;
 +
 +                                # With PHP-FPM
 +                                location / {
 +                                                index index.php;
 +                                                try_files $uri $uri/ /index.php?$query_string;
 +                                }
 +
 +                                # PHP fastcgi
 +                                location ~ \.php {
 +                                                include fastcgi_params;
 +                                                # Use your own port of fastcgi here
 +                                                #fastcgi_pass 127.0.0.1:9000;
 +                                                fastcgi_pass unix:/var/run/php-fpm-7-site.ztc.sock;
 +                                                fastcgi_index index.php;
 +                                                fastcgi_split_path_info ^(.+\.php)(/.+)$;
 +                                                fastcgi_param PATH_INFO $fastcgi_path_info;
 +                                                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
 +                                }
 +
 +                                # rpc
 +                                location ~ ^/rpc {
 +                                                alias /home/site.ztc/httpdocs/app/api/web;
 +                                                index index.php;
 +                                                try_files $uri $uri/ @rpc;
 +
 +                                                # PHP fastcgi
 +                                                location ~* \.php {
 +                                                               include fastcgi_params;
 +                                                               # Use your own port of fastcgi here
 +                                                               #fastcgi_pass 127.0.0.1:9000;
 +                                                               fastcgi_pass unix:/var/run/php-fpm-7-site.ztc.sock;
 +                                                               fastcgi_split_path_info ^(.+\.php)(/.+)$;
 +                                                               fastcgi_param SCRIPT_FILENAME $request_filename;
 +                                                }
 +                                }
 +
 +                                location @rpc {
 +                                    rewrite ^/rpc/(.*)$ /rpc/index.php?$1 last; # THIS IS THE IMPORTANT LINE
 +                                }
 +                                # end rpc
 +
 +}
 +
 +
 +</code>
 +
 +  * @rpc - Этот локейшен необходим для перенаправления c /rpc на /rpc/index.php. Указываем **last**  для отключения дальнейшего реврайта
 +  * $request_filename - равносильно fastcgi_param SCRIPT_FILENAME /home/site.ztc/httpdocs/app/api/web/$script;
 +