将所有子目录子页重定向到子目录根

时间:2016-01-19 16:15:32

标签: .htaccess redirect

我试图找到上述问题的答案,但却无法这样做。我发现的大多数示例都是将所有子目录子页面重定向到根目录,而不是重定向到子目录的根目录。

例如,我希望所有http://domain.com/subdirectory/ *转到http://domain.com/subdirectory/并在.htaccess中实施以下重定向规则:

RewriteCond %{QUERY_STRING}  ^$
RewriteRule ^subdirectory/(.*)$ /subdirectory/ [R=301,NC,L]

我也尝试过:

RewriteCond %{QUERY_STRING}  ^$
RewriteRule ^subdirectory/(.*)$ http://domain.com/subdirectory/ [R=301,NC,L]

上述两种情况在尝试转到http://domain.com/subdirectory时都会导致重定向循环错误 - 此处有任何想法或建议吗?

2 个答案:

答案 0 :(得分:0)

您需要在正则表达式中的目录名后使用.+

RewriteCond %{QUERY_STRING}  ^$
RewriteRule ^(subdirectory)/(.+)$ /$1/ [R=301,NC,L]

否则subdirectory/.*也会匹配/subdirectory/并导致重定向循环。

答案 1 :(得分:0)

对我来说,答案根本不起作用,但这有:

RedirectMatch 301 ^/subdirectory/(.+)$ /subdirectory

相关问题