Nginx url重写 - 跳过路径的一部分

时间:2015-07-21 22:38:29

标签: nginx url-rewriting

更新

嗨,所以我真的不明白nginx的重写是如何运作的。 我希望能够按如下方式进行重写:

/ hosting /(某些公司名称)/(网站模板名称)/

并将其重写为以下内容:

/ templates /(模板名称)/

其中公司名称将被省略(该信息仅供客户端使用)。

我现在所拥有的是:

server {
    listen    80 default_server;
    listen    [::]:80 default_server;
    server_name _;
    root      /usr/local/www/html;

    location ~ ^/hosting {
        rewrite ^/hosting/([^/]+)/(.*) /templates/$2 last;
    }

    error_page 404 /404.html;
    location = /40x.html {
    }

    error_page 500 502 503 504  /50x.html;
    location = /50x.html {
    }
}

我不再收到错误,但现在页面会完全重定向,当我希望它保留当前网址时

我的根文件夹结构如下:

html
-- templates
----- test
-------- index.html
-- 40x.html
-- 50x.html

我应该如何改变以使其按预期工作?

1 个答案:

答案 0 :(得分:0)

您可以发布error.log的输出吗?

您的配置对我有效