【问题标题】:Nginx redirect except some extensionsNginx 重定向,除了一些扩展
【发布时间】:2018-12-05 22:29:48
【问题描述】:

我编写了一个配置强制门户的脚本,一切正常。我遇到的问题是因为 nginx 将所有请求重定向到 http://hotspot.localnet/index.php 也重定向了所有对图像的请求。所以 index.php 中的图片都不起作用。

有没有办法排除 png、pdf 文件被重定向到 index.php 并被显示?尝试了许多在互联网上找到的正则表达式示例,但没有成功。

nginx配置文件的源码在这里:https://github.com/tretos53/Captive-Portal/blob/master/default_nginx

这是上面配置的access.log:

192.168.137.1 - - [03/Dec/2018:19:53:16 +0000] "GET /index.php HTTP/1.1" 200 582 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
192.168.137.1 - - [03/Dec/2018:19:53:16 +0000] "GET /images/1.jpg HTTP/1.1" 302 161 "http://hotspot.localnet/index.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
192.168.137.1 - - [03/Dec/2018:19:53:16 +0000] "GET /images/2.png HTTP/1.1" 302 161 "http://hotspot.localnet/index.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
192.168.137.1 - - [03/Dec/2018:19:53:16 +0000] "GET /images/3.png HTTP/1.1" 302 161 "http://hotspot.localnet/index.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
192.168.137.1 - - [03/Dec/2018:19:53:16 +0000] "GET /images/4.png HTTP/1.1" 302 161 "http://hotspot.localnet/index.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
192.168.137.1 - - [03/Dec/2018:19:53:16 +0000] "GET /images/5.png HTTP/1.1" 302 161 "http://hotspot.localnet/index.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"
192.168.137.1 - - [03/Dec/2018:19:53:16 +0000] "GET /images/6.png HTTP/1.1" 302 161 "http://hotspot.localnet/index.php" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"

【问题讨论】:

    标签: nginx captiveportal


    【解决方案1】:

    将此添加到您的配置中:

        location ~ \.(?:pdf|png)$ {
            try_files $uri =404;
        }
    

    【讨论】:

    • 嗨伊万,这句话在哪里重要吗?不幸的是,这种情况仍在发生。 192.168.24.59 - - [04/Dec/2018:21:07:36 +0000] "GET /7.png HTTP/1.1" 302 161 "hotspot.localnet/index.php" "Mozilla/5.0 (Linux; Android 8.0.0;
    • 刚刚在真实服务器上检查了您的配置。它可以工作,但会导致 pdf 或 png 文件的无限 302 重定向。我更新了我的答案。您仍然重定向到 index.php 的原因可能是您的浏览器缓存,您可以尝试从隐身窗口发出请求。
    • 是的,你是对的,我认为这是我的浏览器,现在可以使用。我尝试了 reddit 的另一种解决方案,它也有效。感谢您的帮助
    猜你喜欢
    • 2014-11-16
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 2012-11-01
    • 1970-01-01
    • 2015-10-11
    • 1970-01-01
    • 2020-02-27
    相关资源
    最近更新 更多