V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
Kirkcong
V2EX  ›  NGINX

询问一个nginx的技术问题

  •  
  •   Kirkcong · 2011-11-04 00:07:05 +08:00 · 4387 次点击
    这是一个创建于 4529 天前的主题,其中的信息可能已经有所发展或是发生改变。
    例子:用户访问 www.abc.com/?123 例如这样的url,其实和访问www.abc.com无异

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

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

    还没想到其他解决办法。
    Livid
        3
    Livid  
    MOD
       2011-11-04 00:15:42 +08:00
    任何一篇文章应该只有一个 URL。在任何地方链接这篇文章的时候,都是使用同一个 URL,这样应该就好了吧。
    Kirkcong
        4
    Kirkcong  
    OP
       2011-11-04 00:21:32 +08:00
    @Livid 因为可能是用户将文章分享到微博等等,这些是含有/video/13827.html?jtss=renren这样的。
    Ricepig
        5
    Ricepig  
       2011-11-04 00:48:20 +08:00
    可以的,用正则。就是比较麻烦,确实也如 @Livid 的说法,有副作用
    Kirkcong
        6
    Kirkcong  
    OP
       2011-11-04 01:08:56 +08:00
    @Ricepig 这样的情况并不多,我觉得可以接受
    不知道如何用正则rewrite写:)
    keakon
        7
    keakon  
       2011-11-04 01:33:57 +08:00
    技术上来说,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  
       2011-11-04 16:31:54 +08:00
    if ($args ~ ^123$){
    rewrite ^ /? permanent;
    }

    不过,为何要根据不同的参数来选择是否显示评论呢?在程序里统一会更好,把特殊规则放在web服务器配置文件里,会增加维护的成本。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1127 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 18:46 · PVG 02:46 · LAX 11:46 · JFK 14:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.