重定向 >> domain.com/test 到另一个 url (domain.com/test3 using .htaccess (wp)

Redirect >> domain.com/test to another url (domain.com/test3 using .htaccess (wp)

我正在尝试重定向一个完整的 URL


But this is not working ...
RewriteCond %{HTTP_HOST} ^https://www.moccioso.com/d.php? 
id=ultimateselection.zip$ 
RewriteRule ^$ http://moccioso.com/sd_product/ultimateselection-zip 
[L,R=301]

(我假设您在实际代码中没有将代码包装到多行?)

HTTP_HOST 变量包含 Host HTTP 请求 header。 IE。在请求中指定的 hostname 例如。仅 www.example.com - 这里没有方案、URL-path 或查询字符串。所以,这个 RewriteCond 指令永远不会匹配。

但是您还试图将空的 URL-path 与 RewriteRule 模式 ^$ 匹配 - 因此,这永远不会匹配.在您的示例中,URL-path 是 /d.phpRewriteRule 模式 仅匹配 URL-path。

您也在该指令中重定向到 http(而不是 https)?您的示例使用 https。您还删除了 www 子域,但同样,您的示例包含它?

如果您要重定向 from/to 相同的主机名并且只有一个域,那么您不需要在规则中明确包含域名(即请求的主机名)。

要匹配查询字符串,您需要匹配 QUERY_STRING 服务器变量。

尝试以下操作,靠近 .htaccess 文件的 top

RewriteCond %{QUERY_STRING} ^id=ultimateselection\.zip$ 
RewriteRule ^d\.php$ /sd_product/ultimateselection-zip [R=301,L]

这需要靠近 .htaccess 文件的顶部。首先使用 302(临时)重定向进行测试,以避免潜在的缓存问题。

测试前清除浏览器缓存。