301 重定向自定义链接

301 重定向自定义链接

我有几千个这样的链接

/Gallery?cmd=viewCarGallery&carID=3747&pgID=1

现在我想使用 .htaccess 将它们重定向到另一个网站的其他链接。每个链接都将重定向到其自己的目标链接。我尝试过这样的

Redirect 301 /Gallery?cmd=viewCarGallery&carID=3747&pgID=1 http://example.com/gallery/fcar_gallery

但不起作用。我已在服务器中启用 mod_rewrite,其他重定向运行正常。

答案1

查询字符串不是 Redirect 指令中匹配的一部分,要重定向查询字符串,您需要使用 mod-rewrite ,如下所示:

选项1

RewriteEngine on

RewriteCond %{THE_REQUEST} /Gallery\?cmd=viewCarGallery&carID=3747&pgID=1  [NC]
RewriteRule ^ http://example.com/gallery/fcar_gallery? [NC,L,R]

选项 2

RewriteEngine on

RewriteCond %{QUERY_STRING} ^cmd=viewCarGallery&carID=3747&pgID=1  [NC]
RewriteRule ^ http://example.com/gallery/fcar_gallery? [NC,L,R]

我们使用空问号在目标 url 末尾丢弃旧的查询字符串,否则这些查询字符串会默认附加到目标 url。

更改RR=301如果您想使重定向永久生效。

[在 apache2 和 2.4 上测试]

相关内容