Redirecionar raiz para subpasta WordPress sob nginx

3

Recentemente, recebi um VPS com o nginx e mudei a instância do WordPress. Depois de algumas pesquisas, obtive permalinks para trabalhar. O blog está localizado dentro de uma pasta blog .

Eu gostaria que as solicitações para example.com fossem redirecionadas para example.com/blog . No entanto, as solicitações para example.com/doc/... devem não ser redirecionadas para example.com/blog/doc/... .

Procurei outras perguntas / respostas, mas todas resultaram em um loop de redirecionamento infinito.

Esta é a configuração atual:

server {
    listen 80;

    # SSL configuration
    #
    # listen 443 ssl default_server;
    # listen [::]:443 ssl default_server;
    #
    # Self signed certs generated by the ssl-cert package
    # Don't use them in a production server!
    #
    # include snippets/snakeoil.conf;

    root /usr/share/nginx/html;

    # Add index.php to the list if you are using PHP
    index index.html index.htm index.nginx-debian.html index.php;

    server_name mysite.com;

    location / {
            # Redirect to /blog
    }

    location /blog/ {
            try_files $uri $uri/ /blog/index.php?$args;
    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    location ~ /\.ht {
            deny all;
    }

    # pass the PHP scripts to FastCGI server listening on the php-fpm socket
    location ~ \.php$ {
            try_files $uri =404;
            fastcgi_pass unix:/var/run/php5-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;

    }
}

'' '

    
por David Saltares 22.03.2015 / 10:20

1 resposta

4

Use isto:

location = / {
    return 301 http://example.com/blog;
}

A chave aqui é a = , o que faz com que o nginx aplique esta regra apenas às solicitações que chegam à pasta raiz, em nenhum outro lugar.

    
por 22.03.2015 / 10:39