Не удается перенаправить подкаталог на поддомен с помощью nginx - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть listnaples.com (приложение Laravel), и я хочу, чтобы listnaples.com/blog/ установил Wordpress.Я не могу просто поместить Wordpress в мой / blog / по соображениям безопасности, поэтому я пытаюсь поместить его в blog.listingnaples.com на моем сервере.

Мой nginx.conf выглядит так:

server {
    listen   80;
    server_name blog.listingnaples.com;
    access_log /srv/www/blog.listingnaples.com/logs/access.log;
    error_log /srv/www/blog.listingnaples.com/logs/error.log;

    location / {
            root /srv/www/blog.listingnaples.com;
            index index.html index.htm index.php;
            try_files $uri $uri/ /index.php?$args;
}

    location ~ \.php$  {
            include /etc/nginx/fastcgi_params;
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /srv/www/blog.listingnaples.com/$fastcgi_script_name;
}
}

server {
    listen   80;
    server_name listingnaples.com;
    access_log /srv/www/listingnaples.com/logs/access.log;
    error_log /srv/www/listingnaples.com/logs/error.log;

    location /blog {
            proxy_pass  https://blog.listingnaples.com;
    }

    location / {
            root   /srv/www/listingnaples.com/public;
            index index.html index.htm index.php;
            try_files $uri $uri/ /index.php?$args;
    }

    location ~* ^((?!\/blog)(.+)\.php)$  {
            include /etc/nginx/fastcgi_params;
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /srv/www/listingnaples.com/public/$fastcgi_script_name;
    }

}

Когда я открываю свой браузер и захожу на listnaples.com/blog/, он дает мне маршрут 404 Laravel. Я могу перейти на https://blog.listingnaples.com/ и посмотреть движок Wordpress.

1 Ответ

0 голосов
/ 19 декабря 2018

Если вы не хотите, чтобы пользователи обращались к WP по адресу listaples.com/blog, вместо proxy_pass используйте (внутри блока server {}, в котором ваше приложение, а не WP как document_root)

переписать ^ / blog $ http://blog.listingaples.com редирект;

...