Problema de índice de localização Nginx

2

Eu tenho problemas com o bloco de localização nginx.

location /myApp/api/account/tutorialPage {
alias /data/www/;   
index tutorial.html;
}

se tiver uma correspondência estrita - está tudo bem, ter acesso ao meu tutorial.html.
Mas eu quero que cada link que contenha / tutorialPage levaria a tutorial.html.
Então eu fiz o próximo local:

location ~ /tutorialPage {
alias /data/www/;   
index tutorial.html;
}

Deve ser algo como "se o link contiver / tutorialPage do que ir para tutorial.html". Mas eu tenho erro 403.

[error] 10148#0: *65346 directory index of "/data/www" is forbidden, client: 194.183.181.44, server: , request: "GET /myApp/api/account/tutorialPage/ HTTP/1.1", host: "my.domain.com", referrer: "https://my.domain.com/"

Eu verifiquei que os dados / www dir é chmod 755 (por exemplo, pode ser lido por enyone)

---- UPD


Exemplo de locais que funcionam
    location ~ /tutorialPage\z {
rewrite ^/.* /tutorial redirect;
}

location /tutorial {
alias /data/www;
index tutorial.html;
}
    
por Asprelis 03.02.2016 / 15:36

1 resposta

2

Você precisa reescrever internamente o URI:

location ~ /tutorialPage {
    rewrite ^ /tutorial.html last;
}

A diretiva index determina a ação padrão ao encontrar um diretório, o que não é o caso aqui.

    
por 03.02.2016 / 16:18