使用重定向数据库和 apache http 进行 CMS 迁移后是否保留 URL?

使用重定向数据库和 apache http 进行 CMS 迁移后是否保留 URL?

我们将把整个内部网从一个 CMS 迁移到另一个 CMS。所有 URL 都将以不可预测的模式发生变化,但我可以捕获一个包含原始、新 URL 的文件,我可以将其输入到任何内容中。我有数十万个 URL,而不仅仅是几百个。

我想做的是:应根据数据库检查每个未找到的 URL(404),如果找到新的 URL,则改为发出 301/308。如果查找失败,则在 404 消息中建议类似页面的一些技巧将是一个额外的好处。

这是正确的方法吗?还是我应该始终先检查重定向?

我该如何在 Apache2 中做到这一点?这是一个自定义 404 模块吗?

答案1

我部分搞明白了。虽然 404 仍然让我困惑,但我可以使用 mod_rewrite 和 RewriteMap 指令主动重写 URL,而不是首先依赖 404 状态。这可能有效:

RewriteEngine on
RewriteMap lowercase int:tolower
RewriteMap blog-map dbm:/home/stw/www/blogmap.map
RewriteRule ^/blog/d6plinks/(.*) /blog/${blog-map:${lowercase:$1}} [NC,R=301,L]

此处有详细说明。现在,有了 ErrorDocument 语句,原来的目标可能就可以实现。

相关内容