如何使用.htaccess将包含问号和特定字符串的URL重定向到根域

问题描述 投票:0回答:1

我网站的旧网址结构是这样的

https://www.naturablooms.com/wholesale-pricelist?color_id&flower_type_id&name_search_start&page=1&product_type=Dried&psearch&ship_service

为了 SEO,我们网站当前的 url 结构已更改。现在我们必须将所有此类问号后带有 color_id 的 url 重定向到根域。这就像

来自

https://www.naturablooms.com/wholesale-pricelist?color_id&flower_type_id&name_search_start&page=1&product_type=Dried&psearch&ship_service

https://www.naturablooms.com/

我们在 .htaccess 中尝试了以下操作

RewriteEngine On
RewriteCond %{QUERY_STRING} ^color_id.*$
RewriteRule ^(.*)$ /$1? [R=301,L]

但它会重定向到 https://www.naturablooms.com/wholesale-pricelist 不是根域 https://www.naturablooms.com/

我们需要将其重定向到https://www.naturablooms.com/

如果有人帮助我解决这个问题,我将非常感激。

.htaccess url http-redirect
1个回答
0
投票

这可能就是您正在寻找的:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^color_id&
RewriteRule ^ / [R=301,L,QSD]

或者也许,你的问题并不清楚:

RewriteEngine On
RewriteCond %{QUERY_STRING} ^color_id&
RewriteRule ^/?wholesale-pricelist/?$ / [R=301,L,QSD]

您之前的规则显式复制了请求的路径,因为您使用的是占位符

$1
,其中包含匹配模式捕获的所有内容。您既不需要捕捉任何东西,也不需要复制任何东西。

© www.soinside.com 2019 - 2024. All rights reserved.