我对前端开发更好,所以我非常感谢.htaccess 301重定向的帮助。
我想301重定向/任何 - 这里/ rc / code / to / anything-here /?rc = code
示例1: //www.domain.com/any_directory/other_directory/rc/code/应该301重定向到//www.domain.com/any_directory/other_directory/?rc=code < / p>
示例2: //www.domain.com/rc/code/应该301重定向到//www.domain.com/?rc=code
它还应该保留一个潜在的查询字符串(任意数量的变量)。
示例3: //www.domain.com/any_directory/other_directory/rc/code/?variable1=value1&variable2=value2应该301重定向到//www.domain.com/any_directory ?/ other_directory / RC =代码&安培;变量1 =值1&安培;变量2 =值2
如果倒数第二个导演不是'rc'(完全匹配),则不应重定向。
示例4: //www.domain.com/any_directory/rc/other_directory/code/不应重定向('rc'不是最后一个目录的第二个)
示例5: //www.domain.com/code/rc/不应重定向('rc'不是最后一个目录的第二个)
示例6: //www.domain.com/arc/code/不应重定向(没有'rc'目录)
示例7: //www.domain.com/rc/不应重定向('rc'不是最后一个目录的第二个)
我有另一条线,如果它缺少则添加一个尾部斜线,因此在这种情况下它不相关。非常感谢提前!
答案 0 :(得分:1)
你可以试试这个:
RewriteEngine On
RewriteBase /Test
RewriteCond %{REQUEST_URI} ^(.*)/rc/(\w+)/?$
RewriteRule ^ %1/?rc=%2&%{QUERY_STRING} [R=301,L]
如果不重定向,请执行以下操作:http://www.domain.com/code/rc/
文件夹 rc必须存在,否则会生成错误404。
您不应该在查询中添加尾部斜杠。
http://www.domain.com/any_directory/other_directory/?rc=code&variable1=value1
不同于:
http://www.domain.com/any_directory/other_directory/?rc=code&variable1=value1/
最后variable1=value1/
的值会有错误。