Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.htaccess htaccess 301使用多个规则和utm参数重定向_.htaccess_Redirect_Utm - Fatal编程技术网

.htaccess htaccess 301使用多个规则和utm参数重定向

.htaccess htaccess 301使用多个规则和utm参数重定向,.htaccess,redirect,utm,.htaccess,Redirect,Utm,我试图为3种不同的情况创建重定向,包括添加参数或UTM标记,但我想不出来。我需要以下重定向: 重定向课程URL(注意课程更改为课程): Mydomain.com/rodkits/course/lesson1重定向到Mydomain.com/courses/lesson1 Mydomain.com/rodkits/course/lesson2重定向到Mydomain.com/courses/lesson2等以获取多个课程 前课程网页 Mydomain.com/rodkits/重定向到Mydomai

我试图为3种不同的情况创建重定向,包括添加参数或UTM标记,但我想不出来。我需要以下重定向:

  • 重定向课程URL(注意课程更改为课程):
  • Mydomain.com/rodkits/course/lesson1
    重定向到
    Mydomain.com/courses/lesson1
    Mydomain.com/rodkits/course/lesson2
    重定向到
    Mydomain.com/courses/lesson2
    等以获取多个课程

  • 前课程网页
    Mydomain.com/rodkits/
    重定向到
    Mydomain.com/courses/fishing roid building course/

  • 包含utm标记的静态页面
    Mydomain.com/rodkits/page1
    重定向到
    Mydomain.com/page1
    Mydomain.com/rodkits/page2/?utm\u source=qld%20s…..
    重定向到
    Mydomain.com/page2/?utm\u source=qld%20s…..
    等多个页面

  • 一切似乎都很正常,除非utm标记被添加到url中,否则任何带有utm标记的内容都会被重定向到Mydomain.com/courses/fishing rod building course(无论url是什么) 例如,
    Mydomain.com/rodkits/page1/?utm\u source=qld%20s…..
    重定向到
    Mydomain.com/courses/fishing-rod-building-coursepage1/?utm\u source=qld%20s…..

    我怎样才能解决这个问题

    我的htacces:

    # BEGIN 301 Redirects
    Redirect 301 /rodkits/    /courses/fishing-rod-building-course
    RewriteRule ^rodkits/course/(.*)$ /courses/$1 [R=301,NC,L]
    RewriteRule ^rodkits/(.*)$ /$1 [R=301,NC,L]
    # END 301 Redirects
    

    你是说
    Mydomain.com/rodkits/page1/?utm\u source=…
    被重定向,而不是
    Mydomain.com/page1/?utm\u source=…
    ,对吗?(因为/page1/受影响在这里没有任何意义,所有模式都以
    rodkits
    开始)重定向指令基于检查路径前缀工作。您正在重定向以
    /rodkits/
    开头的任何内容,该行已经存在,并且匹配后的任何后缀都会附加到目标URL。在这里不要使用重定向,也要使用重写规则来处理这种情况。@misorude您的第一条评论是正确的,我已经更新了这个问题。那么,我如何使第一个重定向规则只影响原始课程主页,即以
    /rodkits/
    结尾,或仅以
    /rodkits
    结尾,因为我不希望此规则影响
    /
    之后的任何附加参数,正如我所说的,用另一个重写规则替换重定向<代码>重写规则^rodkits/?$/课程/钓鱼杆建造课程[R=301,NC,L]