我有 3 条“规则”。一个确保 URL 是小写的,另一个是在目录末尾包含一个斜杠,第三个是强制通过目录访问index.html页面。
我遇到的问题是,有时这会导致多次 301 重定向。我真的希望每个规则依次应用,然后如果需要重定向一次到最终 url。例如,可能需要将 url 转换为小写并添加斜杠。或者可能需要小写并从index.html更改为目录。
任何想法我怎么能做到这一点?非常感谢。
规则如下:
#LOWERCASE URLS For Directories, aspx, html files
RedirectRule ^/(.*[A-Z].*(/|\.html|\.aspx))$ /#L$1#E [R=301]
#ADD SLASH TO DIRECTORIES
#---------------------------------------------
#Perm Redirect If:
#Starts w/ Forward Slash
#Match Any Characters Except (. or ?) 1 or more times
#End w/ someting besides a dot, ?, or slash
#If So, Perm Redirect captured piece W/ Slash At End and at front
RedirectRule ^/([^.?]+[^.?/])$ /$1/ [I,R=301]
#CHANGE INDEX.HTML REQUESTS TO DIRECTORY REQUESTS
#---------------------------------------------
RedirectRule ^/(.*)/index\.html$ /$1/ [I,R=301]