【问题标题】:Nginx redirect without trailing slashNginx 重定向不带斜杠
【发布时间】:2020-10-28 19:20:51
【问题描述】:

如何使用 Nginx 将“http://test.com/”重定向到“http://test.com”?

我试过了

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

但这仅适用于http://test.com/anything/ 不适用于root

非常感谢

【问题讨论】:

    标签: nginx nginx-config trailing-slash


    【解决方案1】:

    没有“不带斜线”请求的域。

    当你访问https://example.com时,你的浏览器总是会从服务器获取一些URI(路径),默认是/

    所以你只是在要求一个不可能的事情:-)

    附:当请求“域”时,浏览器是否显示尾部斜杠,各不相同。 例如,Chrome 会隐藏已知 TLD 的尾部斜杠,同时显示本地 TLD,例如

    https://example.com/ => 斜线隐藏

    http://example.local/ => 显示斜线

    【讨论】:

    • 这并不完全正确。如果您打开 example.com 时没有尾部斜杠(或域后的任何其他内容),您将不会在 nginx 日志中看到您的请求,而如果您打开 example.com/,它将按预期记录。 Chrome 和 FireFox 都不向 URL 添加 /
    • @Vitaly “你不会在 nginx 日志中看到你的请求”这是不正确的。无论请求是在浏览器的地址栏中带有或不带有斜线“可视化”,都不会反映如何向服务器发出请求:带有斜线,并且日志记录取决于您的 Web 服务器配置。你的说法不正确。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-14
    • 2016-04-06
    • 2013-01-27
    • 2017-06-15
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    相关资源
    最近更新 更多