如何实现基于外部重定向的逻辑?

How to implement logic based on external redirects?

我正在为一个客户(房地产)建立一个网站,该网站上有指向另一个网站(房地产广告)的链接。我的客户在出租某个 属性 时经常激活和停用这些广告。

我的链接上的 href 看起来像这样: <a href="https://domain.xx/estate/idxx/des-crip-tion-xx-xx-x-xx/">。如果广告确实有效,它只会将他们带到广告中。但是,如果它不活动,则相关网站会将用户重定向到 https://domain.xx/estate-for-rent/city/,有效地将用户发送到我客户的竞争对手。

我希望实现一些逻辑,在将用户移交给其他网站之前,服务器会检查它是否被重定向到 https://domain.xx/estate-for-rent/city/,或者一些类似的逻辑,如果是,则使用 preventDefault,或其他东西,并通知用户该广告不可用,而不是将他们发送到其他网站。

我想知道我是否可以使用这样一个事实,即只有当广告处于活动状态时,用户浏览器 window 中的结果 url(在他们被定向到其他网站之后)匹配我的 href 中的 url。我能否以某种方式让服务器尝试访问我的 href 中的 url,并让它看到它被重定向到哪里,然后根据它做一些事情?在后端,顺便说一句,我是 运行 NodeJS with Express,如果重要的话,我在很大程度上依赖 EJS 进行模板化。在此先感谢您的帮助!

这听起来更像是您可以在客户端而不是服务器上解决的问题。例如,在高层次上,我会这样做:

  1. 为每个 link 处理 click 事件(用 jQuery 做一个包罗万象真的很简单)
  2. 通过 AJAX 向目的地 URL 发起 HEAD 请求(这比 [=12] 效率 =] 但取决于支持该动词的外部服务)
  3. 使用状态代码确定下一步要做什么(例如2xx允许重定向,3xx弹出消息并阻止)