LINUX.ORG.RU
ФорумAdmin

Nginx location все что кроме

 , ,


0

0

Добрый вечер LOR!

есть сайтик, у него фронт написан на ангуляр и есть вордпресс часть, сейчас все запросы в вордпресс захардкожены в конфиге nginx, и это создает определенные неудобства для заказчика, например нельзя добавить новые страницы в вордпрессе, какие-то SEO проблемы. просят сделать что бы по умолчанию все попадало в вордпресс, а только определенные запросы (/assets, favicon, /admin, /personal, /auth и /) попадали на ангуляр часть. Помогите с этим, уже голову сломал как это сделать, через отрицательную регуляку - nginx не работает с такими регулярными выражениями


user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
	worker_connections  1024;
}
http {
	include       /etc/nginx/mime.types;
	default_type  application/octet-stream;

	log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
					  '$status $body_bytes_sent "$http_referer" '
					  '"$http_user_agent" "$http_x_forwarded_for"';
	access_log  /var/log/nginx/access.log  main;
	sendfile        on;
	keepalive_timeout  65;
	gzip  on;
	gzip_types application/javascript text/javascript image/svg+xml;
    server {
         server_name "~^www\.(.*)$" ;
         return 301 $scheme://$1$request_uri;
    }

	server {
		listen       80 default;
		#access_log  /var/log/nginx/log/host.access.log  main;
		location ~ ^/(test|about|email|subscribe|wp-content|wp-admin|wp-includes|mainpage|\d+)/ {
			proxy_pass        http://wp.site.ru;
			proxy_redirect    off;
                        proxy_set_header  X-Forwarded-Proto https;
			proxy_set_header  Host site.ru;
		}
		location ~ \.php {
			proxy_pass        http://wp.site.ru;
			proxy_redirect    off;
            proxy_set_header  X-Forwarded-Proto https;
			proxy_set_header  Host site.ru;
		}
		location / {
			root   /usr/share/nginx/html;
			try_files $uri /index.html;
		}
		error_page   500 502 503 504  /50x.html;
		location = /50x.html {
			root   /usr/share/nginx/html;
		}
	}

}

Ответ на: комментарий от WitcherGeralt

Видимо, да.

Это в принципе плохая практика, не нужно смешивать разные приложения, лучше введи префикс /api/1/, например.

Если же не хочешь/можешь нормально переделать, то тебе же ничто не мешает, наоборот, матчить конкретные урлы, а во втором локейшене уже матчить остальное.

WitcherGeralt ★★ ()
Ответ на: комментарий от WitcherGeralt

спасибо, после долгого чтения документации и не менее долгого чтения форумов я понял что это в текущем виде не реализуемо.

alex_stranger ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.