ngx_pagespeed 配置中的正则表达式怎么写?

服务器安装了ngx_pagespeed,然后看到有个规则是LoadFromFile
网址是这个:https://www.modpagespeed.com/...
然后这个pagespeed LoadFromFileMatch通配的方法,不知道正则怎么写。
我的需求有两个

    1.在https://www.example.com/uploads/imgs/这里是随机数字目录/这里是随机长度数字-随机长度数字.(jpg|png|gif)
    比如:https://www.example.com/uploads/imgs/20170929/7895443454.png
    2.在https://www.example.com/uploads/imgs/这里是随机数字目录/这里是随机长度数字.(jpg|png|gif)
    比如:https://www.example.com/uploads/imgs/20170929/7895443-454.jpg

我写的规则

pagespeed LoadFromFileMatch "https?://www.example.com/uploads/imgs/([0-9]*)/([0-9]*-[0-9]*).(jpg|png|gif)" "/alidata1/www/web/www.example.com/uploads/imgs/\\1/\\2.(jpg|png|gif)";
pagespeed LoadFromFileMatch "https?://www.example.com/uploads/imgs/([0-9]*)/([0-9]*).(jpg|png|gif)" "/alidata1/www/web/www.example.com/uploads/imgs/\\1/\\2.(jpg|png|gif)";

测试不通过,应该怎么写?

阅读 1.9k
1 个回答

你的主要问题是 www.example.com,这里面的 . 是正则表达式中的特殊字符,你当普通字符使用,需要转义。

改后的正则表达式如下:

https?://www\.example\.com/uploads/imgs/([0-9]*)/([0-9]*-[0-9]*).(jpg|png|gif)

可以成功匹配:
https://www.example.com/uploads/imgs/20170929/7895443-454.jpg

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题