Redirecionamento / alias de URI simples no Nginx

1

Por favor, como posso fazer esta operação simples no Nginx:

Eu desejo que todos os pedidos de uris sejam:      link ou:      link Vai para a página de login do wordpress:     wordpress / wp-login.php (A instalação do wordpress está dentro da pasta "wordpress").

Eu tentei:

location /adm/ { alias wordpress/wp-login.php; }
location /adm { alias wordpress/wp-login.php; }

e:

rewrite ^/adm$ wordpress/wp-login.php;

Mas sem sucesso ... O pior aqui é que algumas regras, como "reescrever / adm wordpress / wp-login.php;" (que funciona!), auto redireciona algumas solicitações, uma vez que o usuário está logado, para a página de administração padrão wordpress ... E eu não sei porque ...

Apenas no caso de alguém perguntar, este é o meu saque conf. arquivo:

server {
    server_name www.example.com;
    rewrite ^ http://example.com$request_uri? permanent;
}

server {
    server_name example.com;

    access_log /var/log/nginx/example.com.access;
    error_log /var/log/nginx/example.com.error;

    root /var/www/example.com;

    index index.htm index.php;

    location / {try_files $uri /wp$uri/ /wordpress/index.php$args;}

    location ~ .php$ {
        try_files $uri =404;
        #fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include /etc/nginx/fastcgi_params;
    }

    location = /favicon.ico {log_not_found off;access_log off;}
    location = /robots.txt {allow all;log_not_found off;access_log off;}
    location ~ /\. {deny all;access_log off;log_not_found off;  }
}

Obrigado.

    
por Roger 30.05.2011 / 15:32

2 respostas

2

Eu precisava da mesma coisa, mas a resposta acima parecia um pouco estranha para mim. Para quem procura uma solução para isso. Acabei usando o seguinte:

location ~* /login/ {
    rewrite ^/login/(.*)? /wp-admin/$1;
}
    
por 02.10.2012 / 14:57
1

O pessoal do Nginx Forum ajudou-me a encontrar uma solução para isso: link

Isso é o que eles inventaram:

location = /adm/ {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME /var/www/example.com/wordpress/wp-login.php
    include /etc/nginx/fastcgi_params;
}

location = /adm {
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_param SCRIPT_FILENAME /var/www/example.com/wordpress/wp-login.php
    include /etc/nginx/fastcgi_params;
}
    
por 01.06.2011 / 14:17