правила перезаписи nginx - PullRequest
4 голосов
/ 25 ноября 2011

Я пытаюсь реализовать nginx правила перезаписи для следующей ситуации: - Запрос /testfa/styles/style.css должен быть перенаправлен на /testfa/templates/styles/style.css Я включил ведение журнала перезаписи для своего сервера, создал следующие правила:

location /testfa {     
  rewrite ^/styles/(.+)?$ /testfa/templates/styles/$1 last;
}

но когда я пытаюсь выполнить запрос, я получаю сообщение об ошибке 404 от сервера, и файл журнала не содержит никакой информации о перезаписи, только следующее сообщение:

open() "......../testfa/styles/style.css" failed (2: No such file or directory)

Что такоеправильный способ выполнить такое переписывание для nginx?

1 Ответ

2 голосов
/ 25 ноября 2011
location /testfa/ {
    rewrite ^/testfa/styles/(.+)$ /testfa/templates/styles/$1 last;
}

это работает для вас?

мой проверенный виртуальный>

server {
    listen          ...ip...:80;
    server_name     sub.domain.com;
    root            /usr/local/www/test;
    error_log       /usr/local/www/test/error_debug.log debug;

    rewrite_log     on;

    location /testfa/ {
        rewrite ^/testfa/styles/(.+)$ /testfa/templates/styles/$1 last;
    }
}

это работает.четный журнал сообщил:

2011/11/25 01:06:52 [notice] 35208#0: *456705 rewritten data: "/testfa/templates/styles/test.css", args: "", client: IP, server: sub.domain.com, request: "GET /testfa/styles/test.css HTTP/1.1", host: "sub.domain.com"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...