在 Mailchimp 活动中发送了损坏的 link - 如何进行批量重定向?

Sent out broken link in a Mailchimp campaign - how to do a bulk redirect?

刚加入但潜伏了一段时间,发现这个社区非常有用。

我刚刚通过 Mailchimp 向我们的 15,000 名订阅者发送了一封电子邮件简报,其中包含错误的 link(应该是.../grandchallenges 而不是 .../grand-challenges。我我们在我们的网站上做了一个简单的重定向,但是 Mailchimp 插入了单独的 URL,所以人们最终得到一个 link,看起来像这样:.../grand-challenges/?mc_cid=debb7846d7&mc_eid=18de3e5c2a。因此我必须执行 15,000 个单独的重定向请求,除非有办法 'bulk' 重定向斜线后的所有内容。

顺便说一句 - 我们使用 Mezzanine 作为 Django CMS 而不是 Wordpress:http://mezzanine.jupo.org,所以答案不会是 WP 插件。

谢谢!

服务器上的.htacess 文件可以重定向任何内容。添加行:

重定向 /olddirectory/oldfile.html http://example.com/newdirectory/newfile.html

查看此 post 来自托管公司 media temple 的示例。您的托管公司应该有具体说明。

https://mediatemple.net/community/products/grid/204643080/how-do-i-redirect-my-site-using-a-htaccess-file

可以通过 FTP 访问 htacess。我推荐 FileZilla,它是免费和开源的。 https://filezilla-project.org/

有关 htacess 的更多信息,请参阅本文。 https://httpd.apache.org/docs/2.4/howto/htaccess.html

使用 .htaccess

RewriteEngine On
RewriteRule ^grand-challenges\/(.*)$   http://example.com/grandchallenges/

你可以在这里查看:htacces Tester

我不太确定这里的问题是什么。当您设置 URL 时,Django 不会考虑查询字符串,因此您的重定向视图将适用于所有人。然后您需要做的就是传递您收到的任何查询参数。

from urllib.parse import urlencode

def redirect_everyone(request):
    return redirect('/grandchallenges?' + urlencode(request.GET))