Subdiretório Nginx - Caminho de localização adicionado à raiz

1

Trabalhar no acesso a uma instalação do wordpress em um subdiretório da minha webroot principal.

Meu site principal está armazenado em /var/www/example.com/htdocs
Minha instalação do wordpress é armazenada em /var/www/wordpress.example.com/wordpress

Eu quero poder acessar minha instalação do wordpress em example.com/blog

server {
    ...
    root /var/www/example.com/htdocs;
    ...

    location ^~ /blog {
        root /var/www/wordpress.example.com/wordpress;
    }
}

No entanto, estou recebendo um 404, onde /blog é adicionado à raiz também (o que não é desejado).

"/var/www/wordpress.example.com/wordpress/blog/index.php" is not found

Observe como a raiz mostra /wordpress e /blog . Meu desejo seria apenas mostrar /wordpress . Eu quero que seja acessível a partir de /blog , mas /blog não deve fazer parte da raiz, porque ela não existe.

Você poderia me ajudar a resolver isso?

    
por Dan Hanly 03.11.2017 / 10:59

1 resposta

1

A resposta que @ Drifter104 está correta, eu só quero adicionar uma explicação. Você está errado usando a diretiva, você deve estar usando diretiva alias em vez de raiz. Se você estiver usando root, o requested_uri (valor do local) será adicionado ao caminho do arquivo. No seu caso, se o request_uri (valor do local) / blog, nginx pesquisará o caminho do arquivo em /var/www/wordpress.example.com/wordpress+/blog . Mas se você usar o alias, o caminho do arquivo que o nginx pesquisar não será baseado no valor do local. Aqui está a documentação da nginx link .

    
por 04.11.2017 / 18:40

Tags