【问题标题】:Need help on Apache htaccess redirect rule需要有关 Apache htaccess 重定向规则的帮助
【发布时间】:2009-04-27 09:01:10
【问题描述】:

我需要从路径重定向

 /articles/20090425-swine-flu-kills.html

 /2009/04/swine-flu-kills.html

在原始路径中,文章后面的数字是yyyymmdd格式的日期。这将在新路径中转换为“/yyyy/mm/”。

我想需要一些正则表达式,但我不确定如何。非常感谢帮助。谢谢

【问题讨论】:

    标签: regex apache .htaccess mod-rewrite


    【解决方案1】:
    RewriteRule ^articles/(\d{4})(\d\d)\d\d\-(.+)$ /$1/$2/$3
    

    会是更好的解决方案。

    【讨论】:

    • 谢谢!我会尝试两者。对我来说只有一个性格差异:-)
    【解决方案2】:

    试试这个:

    RewriteRule ^articles/(\d{4})(\d\d)\d\d-(.*)$ /$1/$2/$3
    

    这匹配:

    • ^articles/: 以“articles/”开头的字符串
    • (\d{4}):1 美元(年份)的 4 位数字
    • (\d\d):2 位数为 2 美元(当月)
    • \d\d-:2 位数字和破折号(编辑:错过了前导破折号)
    • (.*)$: 剩下的URL变成$3

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多