【问题标题】:nginx rewrite redirect for a foldernginx重写重定向文件夹
【发布时间】:2013-08-20 17:47:52
【问题描述】:

所有...

我正在尝试在 nginx 中做一些事情来重定向所有对文件的调用

/images/

进入:

/assets/images/

有人可以帮我改写规则吗?给予 301 永久移动状态?

【问题讨论】:

    标签: redirect nginx rewrite


    【解决方案1】:

    将以下配置添加到您的 nginx.conf 中

    rewrite ^/(images.*) /assets/$1 permanent;
    

    【讨论】:

    【解决方案2】:

    这是使用较新版本的 Nginx 执行此操作的首选方法:

    location ~ ^/images/(.*) {
        return 301 /assets/images/$1;
    }
    

    请参阅https://www.nginx.com/blog/creating-nginx-rewrite-rules/ 了解更多信息。

    【讨论】:

    • ~ 是干什么用的? ^ 呢?它可以使用$request_uri 而不是$1 吗?
    • @ingo 请参阅location documentation~(波浪号)表示这是一个区分大小写的正则表达式。否则,/Images/imAgEs 的 URL 将匹配。如果这是所需的行为,则使用 ~* 使其不区分大小写。
    • @ingo 正则表达式前面的^(插入符号)将其锚定到行首。没有它,/some/plugin/images/blah.jpg 这样的 URL 也会匹配。
    • @ingo 在这种情况下,location /images/ {return 301 /assets$request_uri;} 可以工作。但是,如果重定向除了添加到原始目录之外(例如/images -> /pics),则仍然需要正则表达式和$1
    • 你是真正的救星@gsf
    猜你喜欢
    • 1970-01-01
    • 2016-11-07
    • 2014-09-02
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多