正则表达式在.htaccess中重写规则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式在.htaccess中重写规则相关的知识,希望对你有一定的参考价值。

我在迁移后尝试重定向旧网站的一些网址,需要重定向的网址是:

第一块:

   /fr/YYYY/mm/dd/
   /fr/YYYY/mm/
   /fr/YYYY

目标:

   blog/

第二块:

    /fr/tag/tag1
    /fr/tag/tag4
    /fr/tag/tag3
    /fr/tag/tag2

目标:

   blog/targetpage

第三块

   fr/categorie/categoryName/

目标

   blog/categoryName

对于第一个块我尝试了以下内容:

RewriteRule ^fr/d{4}/(.*) /blog [R=301]

它仅适用于以下模式:fr / 2015但不是fr / 2015/12/02

我尝试了另一个正则表达式https://regex101.com/r/4oZpxX/1但我不怎么写它htaccess风格。

请提前帮助我,帮助我。

答案

对于您的第一个块,/fr/(d{4})/?(d{2})?/?(d{2})?将正确识别所有这些日期格式。

  • d{#}识别出一串#数字
  • ?/之后的d{#}使他们成为可选的

对于第二个和第三个块,我需要有关“标签”和“类别”是什么类型字符串的更多信息。

以上是关于正则表达式在.htaccess中重写规则的主要内容,如果未能解决你的问题,请参考以下文章

htaccess正则规则学习笔记整理

需要在 .htaccess 重写规则中转义 # (hash/pound) 字符

高分求301重定向的htaccess规则写法

伪静态规则写法RewriteRule-htaccess详细语法使用

PHP 伪静态规则写法RewriteRule-htaccess详细语法使用

PHP 伪静态规则写法RewriteRule-htaccess详细语法使用