LINUX.ORG.RU
ФорумAdmin

Nginx location что я делаю не так?

 


0

1

Ткните пальцем. Что я делаю не так? В тему начал только вникать. Корень работает, не работают /01 и /02.

server {
	listen 80;
	listen [::]:80;
#	listen 443 ssl;
#	listen [::]:443 ssl;

	server_name test-01;

	access_log /var/log/nginx/test-01.access.log.machine-01;
	error_log /var/log/nginx/test-01.error.log.machine-01;

	root /var/www/test-01;

#	index index.html;
#	index index.html index.htm index.nginx-debian.html;
	index index.php;

	location / {
#		First attempt to serve request as file, then
#		as directory, then fall back to displaying a 404.
		try_files $uri $uri/ =404;
#		root /var/www/test-01;
#		index index.php;
	}
	location /01 {
		alias /var/www/test-01;
#		index index.php;
	}
	location /02 {
		alias /var/www/test-02;
#		index index.php;
	}
	location ~ \.php$ {
		include snippets/fastcgi-php.conf;
#		fastcgi_pass 127.0.0.1:9000;
		fastcgi_pass unix:/run/php/php7.4-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}
★★★★★

не работают /01 и /02

Ошибка какая? По конфигу, если по пути в алиасах есть индексные файлы, то должно всё работать (предлагать скачать index.php).

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)

Что ты сделать пытаешься?

У тебя «location /» вообще бесполезное (там просто дефолт указан). «location /01» и «location /02» будут отдавать статику (не .php) из /var/www/test-01 и /var/www/test-02. Урлы с окончанием на .php всегда будут попадать в последнюю location, в ней твоих алиасов не прописано. Ты кажется думал то урл /01/qq.php возьмёт настройки из /01 и из .php, но нет, так не будет.

Вообще, использовать одновременно несколько локаций на один запрос nginx умеет, но это прописывается вручную явно, и лучше так не делать если есть не слишком сложный способ без этого обойтись.

Тебе надо создать ещё две локации «^/01/.+\.php$» и «^/02/.+\.php$», прописать в них нужные root, прописать rewrite-правило типа «break» для отрезания /01/ и /02/ от урла (root+rewrite вместо alias, потому что alias с регулярками так не будет работать) и прописать отправку запроса в php как это сделано в \.php

firkax ★★★★★
()
Последнее исправление: firkax (всего исправлений: 1)
Ответ на: комментарий от firkax

Вот я так почему-то и подумал, что слишком поверхностно знаю. Спасибо.

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