404 страница не найдена при обращении к URL, но правильно отображается при открытии по ссылке на странице индекса

я используюnginx-lua модуль сredis обслуживать статические файлыember-app,index содержимое файла хранится вredis какvalue который должным образом обслуживаетсяnginx когда (корень)domain/IP ударил

Еслиlogin страница открыта по ссылке, она открывается правильно. Но когда открывается напрямую, нажимая на строку URL или обновляя страницу, nginx дает404 not found,index файл находится вredis а остальные файлы обслуживаются из скомпилированныхjs который присутствует наCDN, Ниже приведена конфигурация nginx

server
{
  listen 80 ;
  server_name 52.74.57.154;

  root /;

 default_type   text/html;
 location = / {
    try_files $uri $uri/ /index.html?/$request_uri;
    set_unescape_uri $key $arg_index_key;
    set $fullkey 'ember-deploy-cli:index:${key}';

     content_by_lua '
                local redis = require "resty.redis"
                local red = redis:new()

                red:set_timeout(1000) -- 1 sec



                local ok, err = red:connect("127.0.0.1", 6379)
                if not ok then
                    ngx.say("failed to connect: ", err)
                    return
                end


        if ngx.var.key == "" then
            --ngx.say("No Argument passed")
            local res, err = red:get("ember-deploy-cli:index:current-content")
            ngx.say(res)
            return
        end
        local res, err = red:get(ngx.var.fullkey)

        if res == ngx.null then
            ngx.say("Key doesnt exist ")
            return
        end
        ngx.say(res)

     ';
 }
 drishti ahuja27 мая 2016 г., 11:58
@randy Нет, это только запросы GET. подобноmydomain/login при открытии по ссылке сindex страница, он обслуживается должным образом. Но при открытии, нажав на строку URL или обновив страницу, он показывает404 page not found
 Randy27 мая 2016 г., 11:56
Один использует почту, а другой получает, а сервер отвечает только на один?

Ответы на вопрос(1)

Решение Вопроса

ния подстрок из файла индекса, обслуживаемого из redis. Подробное объяснение и полный конфиг nginx можно найтиВот.

  # This block handles the subrequest. If any subroutes are requested than this rewrite the url to root and tries to render the subroute page by passing the subroute to index file (which is served by the redis).
  location ~* / {
  rewrite ^ / last;
  }

Ваш ответ на вопрос