python - 如何在 Django、Varnish、Nginx 中处理数千个遗留 URL?

标签 python django redirect nginx varnish

我们正在构建一个 Django 应用程序来替换几乎所有资源都使用自定义 URL 的遗留系统。 URL 根本没有模式。我们现在需要将大约 350,000 个自定义 URL 301 重定向到新系统中的正确 URL。

我们的新系统将使用 Django,但前面还会有 Varnish 和 Nginx,因此我们可以使用这些工具中的任何一个来解决问题。

在 Django 中,我认为我们可以制作一个非常非常大的自定义 urls.py 文件,或者制作一个中间件,对具有所有重定向的表进行数据库查找。

或者也许有一种方法可以在 Varnish 或 Nginx 中处理这个问题,这样请求就不会到达 Django。

我的问题:处理数千个自定义 URL 重定向的最有效方法是什么?

最佳答案

这完全取决于实际的负载...如果您有很多请求发送到旧网址,那么进行一些缓存可能会很有用。但总的来说,我会说在 Django 中执行此操作,将所有 url 添加到数据库模型并查询(可以选择在 Django 甚至 Varnish 中缓存结果)应该可以解决问题。

这些事情在 Varnish 或 Nginx 中并非不可能完成,但 Django 会更容易链接到数据库,因此我会投票。

关于python - 如何在 Django、Varnish、Nginx 中处理数千个遗留 URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31821553/

相关文章:

python - 自动填充 Django ModelForms

python - 运行 flake8 给出 - AttributeError : 'OptionManager' object has no attribute 'config_options'

python - 在 Django 中开始的事务

python - 无法安装和使用 python-docx?

带数字的正则表达式重定向

将 root 重定向到 rails 4 中的命名路由

python - 如何使用一个模型中间层的输出作为另一个模型的输入?

python - 如何在Canny边缘检测输出周围添加边界框?

python - 如何在 Django 中选择不同的值?

java - JSF:如何根据特定 FacesContext session 属性的值将用户重定向到另一个页面