您将如何应用重写规则将旧链接结构重定向到新链接?

时间:2017-07-26 06:24:42

标签: .htaccess mod-rewrite

我的网站上有这种结构的链接:

  1. site.com/category/1/cat1name(可以有破折号)
  2. site.com/lessons/1/lesson1name(可以有破折号)
  3. site.com/exercise/1/exname(可以有破折号)
  4. 我将结构改为

    1. site.com/guitar-lessons/cat1name/1
    2. site.com/guitar-lesson/lesson1name/1
    3. site.com/guitar-lesson-ex/exname/1
    4. 我正在使用laravel,我知道我可以使用路由来处理这个问题,但是我想使用从旧链接结构到新链接的301重定向。

      我不确定如何创建适当的RewriteRule以考虑不同的url部分和重新排序。

      我读过的所有例子似乎都有针对特定需求的细微差别。作为RewriteRules的新手,我不知道如何构建规则。对于上面的案例1,我尝试了

      RewriteRule ^category/(.*)$/(.*)$ guitar-lessons/$2/$1 [NC,R=301]
      

      但是使用不会产生匹配的htaccess tester

      有什么建议吗?

      谢谢!

1 个答案:

答案 0 :(得分:0)

好的,我不应该这么快就发布。我意识到我在规则的第一部分中并不需要$符号。我见过this example并认为我需要使用' $'。规则正在运作:

RewriteRule ^category/(.*)/(.*) guitar-lessons/$2/$1 [NC,R=301]