NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
Kirkcong
V2EX  ›  NGINX

询问一个nginx的技术问题

  •  
  •   Kirkcong · Nov 4, 2011 · 5533 views
    This topic created in 5330 days ago, the information mentioned may be changed or developed.
    例子:用户访问 www.abc.com/?123 例如这样的url,其实和访问www.abc.com无异

    nginx下,有办法当用户访问这样的url的时候,自动跳转为www.abc.com么?
    8 replies    1970-01-01 08:00:00 +08:00
    Livid
        1
    Livid  
    MOD
    PRO
       Nov 4, 2011
    不建议做这样的跳转,因为会产生一些你预料不到的问题,而且跳转必然会减慢反应速度。
    Kirkcong
        2
    Kirkcong  
    OP
       Nov 4, 2011
    @Livid 我比较蠢。
    我在页面增加了微博的评论箱,结果是,微博用户看到的是www.abc.com/?123,在里面评论,而一般用户进入的是www.abc.com

    这样导致,一篇文章,两批用户看到的微博评论箱,一个是空,一个是满屏的讨论。

    还没想到其他解决办法。
    Livid
        3
    Livid  
    MOD
    PRO
       Nov 4, 2011
    任何一篇文章应该只有一个 URL。在任何地方链接这篇文章的时候,都是使用同一个 URL,这样应该就好了吧。
    Kirkcong
        4
    Kirkcong  
    OP
       Nov 4, 2011
    @Livid 因为可能是用户将文章分享到微博等等,这些是含有/video/13827.html?jtss=renren这样的。
    Ricepig
        5
    Ricepig  
       Nov 4, 2011
    可以的,用正则。就是比较麻烦,确实也如 @Livid 的说法,有副作用
    Kirkcong
        6
    Kirkcong  
    OP
       Nov 4, 2011
    @Ricepig 这样的情况并不多,我觉得可以接受
    不知道如何用正则rewrite写:)
    keakon
        7
    keakon  
       Nov 4, 2011
    技术上来说,2个URI完全不一样,可以显示成完全不同的网页…

    举个最简单的例子
    https://www.google.com/https://www.google.com/?q=ooxx 不一样
    https://www.google.com/searchhttps://www.google.com/search?q=ooxx 更不一样

    不过对于你自己的网站,既然都是.html结尾,只要你自己不关心查询字符串,还是可以301的
    clowwindy
        8
    clowwindy  
       Nov 4, 2011
    if ($args ~ ^123$){
    rewrite ^ /? permanent;
    }

    不过,为何要根据不同的参数来选择是否显示评论呢?在程序里统一会更好,把特殊规则放在web服务器配置文件里,会增加维护的成本。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5632 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 01:34 · PVG 09:34 · LAX 18:34 · JFK 21:34
    ♥ Do have faith in what you're doing.