我以前的重写规则工作正常如下:
activeTab
mysite.com/product-detail/laptop
在搜索中,已有5000个产品结果。 我想将301重定向到新文件夹
mysite.com/electronics/product-detail/laptop
我不希望谷歌破坏我的结果。请帮我。
答案 0 :(得分:0)
我认为它应该是这样的:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^product-detail/([\w-.]+)/?$ /electronics/product-detail/$1 [NC,R=301,L]
RewriteRule ^electronics/product-detail/([\w-.]+)/?$ product-detail.php?e=$1 [NC,L]
您的第1,第2规则不变。然后,您将所有旧网址转发到新网址,并使用重定向代码301.然后,将新网址处理到您的脚本,就像使用旧网址一样。
我在此假设您的路径前缀 electronics 是一个常量,即它不依赖于产品类别。如果是这样,您将不得不在脚本中进行重定向,因为Apache无法猜测产品的类别(例如,如果从/ product-detail / hugo-boss重定向到=> / parfume / product -detail /雨果老板)。