.htaccess 301基于倒数第二个和最后一个目录重定向

.htaccess 301基于倒数第二个和最后一个目录重定向,.htaccess,redirect,.htaccess,Redirect,我更擅长前端开发,因此我非常感谢.htaccess 301重定向的帮助 我想301重定向/anythine/rc/code/to/anythine/?rc=code 示例1://www.domain.com/any_directory/other_directory/rc/code/应该301重定向到//www.domain.com/any_directory/other_directory/?rc=code 示例2://www.domain.com/rc/code/应该301重定向到//www

我更擅长前端开发,因此我非常感谢.htaccess 301重定向的帮助

我想301重定向/anythine/rc/code/to/anythine/?rc=code

示例1://www.domain.com/any_directory/other_directory/rc/code/应该301重定向到//www.domain.com/any_directory/other_directory/?rc=code

示例2://www.domain.com/rc/code/应该301重定向到//www.domain.com/?rc=code

它还应该保留一个潜在的查询字符串(任意数量的变量)

示例3://www.domain.com/any_目录/other_目录/rc/code/?variable1=value1&variable2=value2应301重定向至//www.domain.com/any_目录/other_目录/?rc=code&variable1=value1&variable2=value2

如果倒数第二个控制器不是“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'不是倒数第二个目录)

我有另一行,如果缺少,则添加一个尾随斜杠,因此在本例中不相关。非常感谢

您可以尝试以下方法:

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/
将具有错误的值