Назад | Перейти на главную страницу

Простое перенаправление / псевдоним URI в Nginx

Пожалуйста, как мне сделать эту простую операцию в Nginx:

Я желаю, чтобы все запросы на ури были такими: http://example.com/adm или: http://example.com/adm Переход на страницу входа в wordpress: wordpress / wp-login.php (установка wordpress находится в папке "wordpress").

Я пробовал:

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

и:

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

Но безуспешно ... Хуже всего то, что некоторые правила, такие как "rewrite / adm wordpress / wp-login.php;" (это действительно работает!), автоматически перенаправляет некоторые запросы, как только пользователь вошел в систему, на страницу администратора WordPress по умолчанию ... И я не знаю почему ...

На всякий случай, если кто-то спросит, это моя конф. файл:

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;  }
}

Спасибо.

Мне нужно было то же самое, но ответ выше показался мне немного странным. Для всех, кто ищет решение этой проблемы. В итоге я использовал следующее:

location ~* /login/ {
    rewrite ^/login/(.*)? /wp-admin/$1;
}

Люди из Nginx Forum помогли мне найти решение для этого: http://forum.nginx.org/read.php?2,202235,202475#msg-202475

Вот что они придумали:

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;
}