我们已经移动了基于 Domino 的网站上的大量页面。使用互联网站点,我们为旧 URL 添加了 301 重定向规则,这样各种机器人将停止索引页面,并且不会因为我们没有处理移动而导致网站在搜索结果中受损(404 未找到对 SEO 不利)。
但是 Domino 先处理替换规则,然后再处理重定向规则。根据 Domino 文档,当规则中没有通配符时,它会将“/*”附加到规则中。考虑到处理顺序和通配符行为,我们遇到了一个问题,即必须保留的现有规则与旧 URL 共享一个共同的根,该规则正在处理替换。
这些是旧的 URL:
- 服装/裤子/女装
- 服装/裤子/男士
这些是新的 URL:
- 服装/休闲裤/女装
- 服装/休闲裤/男士
这是必须保留的现有替换规则:
- 衣服/
当“clothing/pants/womens”与“clothing/”同时存在时,即使“clothing/”存在,替换规则也始终会处理“clothing/pants/womens”规则。但是,一旦我们将旧 URL 移至 301 重定向,“clothing/”替换规则就会开始拾取旧 URL 并对其进行处理。结果是用户最终进入了错误的位置,并且机器人会继续索引该 URL,因为返回了 200。
文档中明确指出,Domino 会将“/*”添加到任何不包含通配符的规则中。但是,有什么方法可以告诉 Domino 它必须对传入 URL 进行精确匹配吗?我是否遗漏了互联网站点配置文档中的某些内容?
我正在研究一些编码选项,但宁愿将解决方案与系统配置隔离,这样我们就不必去多个地方来管理我们的站点 URL 处理规则。
谢谢。
答案1
另外,虽然不能直接回答您的问题,但可能存在解决方法。从 Windows 上的 Domino 9 开始,该产品附带 IBM HTTP 服务器 (IHS) 作为安装选项。IHS 只是 Apache 的一个 IBM 分支。对于您来说,您可以使用 Apache 过滤规则和 mod_rewrite 来创建更强大的规则。
值得一提的是:IHS 与您的许可证捆绑在一起。无需额外付费。