【问题标题】:match all request nginx location匹配所有请求 nginx 位置
【发布时间】:2014-08-22 07:49:22
【问题描述】:

我正在尝试将对 sitemap.xml 的任何请求重定向到 nginx 中的特定文件夹,但我无法编写正确的正则表达式来执行此操作。

我尝试了几个选项,但都没有奏效。在我看来应该起作用的是:

location ~ \.xml$ {
    root /home/www/public/sitemaps;
} 

但它只匹配http://localhost:8080/sitemap.xml,但不匹配http://localhost:8080/other/sitemap.xml

如何编写正则表达式来匹配以 sitemap.xml 结尾的任何 URL?

感谢您的帮助。 /何塞·卡洛斯

【问题讨论】:

    标签: regex nginx location


    【解决方案1】:

    检查其他正则表达式。如果你有两个包含“xml”的正则表达式,nginx 将使用这两者之间的“更大”匹配。

    无论如何你都可以阅读this thread。第一个答案是告诉您尝试以下操作:

    location /sitemap.xml {
        alias /home/www/public/sitemaps/sitemap.xml;
    }
    

    【讨论】:

    • 不是“更大”,而是第一个。
    • 成功了!我遇到的另一个问题是我不理解“别名”和“根”之间的区别。感谢您的帮助。
    猜你喜欢
    • 2011-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-11
    • 2020-02-22
    相关资源
    最近更新 更多