мне понадобится небольшая помощь для псевдонима в папке с nginx
У меня есть папка www / с контейнером моего сайта example.com и много папок, таких как client0, client1, client2 ... Я НЕ должен изменять www / example /, но мне нужно, чтобы этот example.com/serveur0/ был перенаправлен на www / client0 /
Я сделал такое правило nginx:
location /serveur0/ {
alias /www/client0/;
index index.php
location ~ /serveur0/(.*\.php)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$1;
include /etc/nginx/fastcgi_params;
}
}
и он отлично работает. Но у меня возникают некоторые проблемы, когда я пытаюсь обобщить его, используя регулярное выражение. Я пробовал это
location /serveur([0-9]+)$/ {
alias /www/client$1/;
index index.php
location ~ /serveur$1/(.*\.php)$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$1;
include /etc/nginx/fastcgi_params;
}
}
И это не работает, и я не понимаю, почему. Не могли бы вы помочь мне?
Во-первых location
блок:
Вы забыли указать префикс ~
(или ~*
) использовать регулярные выражения.
Удалите знак доллара ($
) перед завершающей косой чертой.
location ~ /serveur([0-9]+)/ { alias /www/client$1/; index index.php location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; include fastcgi.conf; fastcgi_intercept_errors on; error_page 404 /error/404.php; } }