V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
19tj
V2EX  ›  程序员

nginx rewrite 怎么匹配?后面的纯数字

  •  
  •   19tj · 2017-05-09 15:31:30 +08:00 · 3244 次点击
    这是一个创建于 2546 天前的主题,其中的信息可能已经有所发展或是发生改变。
    x.x.com/read.php?368
    重定向到
    x.x.com/368.html
    试了好久了 T_T
    13 条回复    2017-05-12 22:56:23 +08:00
    akira
        1
    akira  
       2017-05-09 15:35:11 +08:00
    rewrite 规则应该是只对问号前有效?
    jarlyyn
        2
    jarlyyn  
       2017-05-09 15:36:03 +08:00
    楼主是不熟悉正则么?
    19tj
        3
    19tj  
    OP
       2017-05-09 15:47:00 +08:00
    @akira 好像是这么回事,我这两天一直在查阅
    19tj
        4
    19tj  
    OP
       2017-05-09 15:47:22 +08:00
    @jarlyyn 不是不熟悉,讲真的,我完全不会
    akira
        5
    akira  
       2017-05-09 17:44:29 +08:00
    rewrite ^/read.php /$args.html? last;
    rrfeng
        6
    rrfeng  
       2017-05-09 19:14:23 +08:00
    这跟正则没关系。需要用到 query args
    19tj
        7
    19tj  
    OP
       2017-05-09 21:00:31 +08:00
    @akira 哥们,我试几次,得到的结果是
    x.x.com/.html?571
    这样子的,有办法让它成为
    x.x.com/571.html
    这样不,前两天把小博客换成了 wp,就等这个 301 完成后切换了
    19tj
        8
    19tj  
    OP
       2017-05-09 21:01:35 +08:00
    @rrfeng 那个。。。谢谢,我只是做了个博客,并不懂代码
    zxc337
        9
    zxc337  
       2017-05-09 21:28:44 +08:00
    if ($args ~* "^([0-9]+)$") {
    set $id $1;
    set $args '';
    rewrite ^.*$ /$id.html last;
    }
    拿去吧
    19tj
        10
    19tj  
    OP
       2017-05-09 23:43:50 +08:00
    @zxc337 先感谢,然后,奇怪了,结果还是跟 akira 同学提供的,
    rewrite ^/read.php /$args.html? last;
    一样,会跳到
    x.x.com/.html?571
    而不是
    x.x.com/571.html
    akira
        11
    akira  
       2017-05-10 01:47:47 +08:00
    args 没拿到? 确认下 nginx 版本号。 要不你直接上 nginx 配置文件上来吧
    19tj
        12
    19tj  
    OP
       2017-05-10 12:44:42 +08:00
    @akira 我用 lnmp 安装的,nginx 版本 1.10.0,配置文件是默认的,没有改动过,0.0
    19tj
        13
    19tj  
    OP
       2017-05-12 22:56:23 +08:00
    @akira rewrite ^/read.php /$args.html? permanent;
    最终我这样写,就可以正常用了,也不知道为什么,非常感谢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3854 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 10:23 · PVG 18:23 · LAX 03:23 · JFK 06:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.