Пожалуйста, как мне сделать эту простую операцию в 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;
}