通过301重定向重定向过时的类别和子产品

时间:2012-07-27 17:09:13

标签: .htaccess redirect

我目前(合并)移动类别,儿童产品将不复存在。 由于我们有相当多的产品,因此将所有产品重定向到父类别是有意义的。

示例网址

http://www.domain.com/chandeliers/modern-chandeliers/*

(其中'*'=儿童产品/网址)

重定向网址

http://www.domain.com/chandeliers/

目前显示为:

RewriteCond %{HTTP_HOST} ^.*$
RewriteRule ^chandeliers\/modern-chandeliers\/$ "http\:\/\/www\.domain\.com\/chandeliers\/" [R=301,L]

1 个答案:

答案 0 :(得分:0)

将您的规则更改为:

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