将您的规则更改为:
RewriteRule ^chandeliers/modern-chandeliers/ http://www.domain.com/chandeliers/ [R=301,L]
被$删除,因为我们只想匹配modern-chandeliers/. 还删除了引号和不需要的转义。您也不需要RewriteCond,因为它不会影响任何东西。请注意,这使得如果有人去http://www.domain.com/chandeliers/modern-chandeliers/a-product-uri,他们会被重定向到http://www.domain.com/chandeliers/,无论modern-chandeliers/. 如果您还想在 之后包含所有内容modern-chandeliers/,则您的规则需要如下所示:
RewriteRule ^chandeliers/modern-chandeliers/(.*)$ http://www.domain.com/chandeliers/$1 [R=301,L]
这使得当有人请求时http://www.domain.com/chandeliers/modern-chandeliers/a-product-uri,他们会被重定向到http://www.domain.com/chandeliers/a-product-uri.
或者,您可以放弃 mod_rewrite 并为此使用 mod_alias :
Redirect 301 /chandeliers/modern-chandeliers /chandeliers