http - 用于Web HTTP/HTTPS的基于永久ID的超链接方案,有多少种方法?

标签 http namespaces hyperlink resolution

背景:

假设我有一个托管在 http://www.example.com 上的网站并且该网站有很多绝对的内部链接。发生了一些事情,需要我将整个网站移至 http://www.example.net所有其他事情保持不变。

显然,我可以在网站代码上进行全局搜索和替换来解决这个问题,但我想知道有多少方法可以创建一个永久链接方案,无论我移动到哪个站点都不会中断,只要相对路径是一样的。

注意:用两个完全不同的网络托管公司的名称替换 example.com 和 example.net。它们仅用于不提供免费广告的通用名称。

问题:

有多少种不同的方式来支持永久超链接,例如:

http://some-aribitrary-string.com/some/path/here/page.htm

这样:
  • some-arbitrary-string 代表一个永远不会改变的唯一字符串
  • some-arbitrary-string 解析为我的代码在任何给定时间托管的任何机器的 DNS 条目或 IP 地址
  • 如果我必须更换服务器,我只需在一处更新此信息(而不必进行全局字符串搜索和替换)
  • 为了使用这个方案,我不必访问 DNS 记录
  • 最佳答案

    重写应该就足够了:

    RewriteEngine On
    RewriteRule ^(.*)$ http://some-arbitrary-string.com/$0 [L]
    

    您还可以使用 [P][R=301]通过内部代理路由请求或正确重定向它们。

    关于http - 用于Web HTTP/HTTPS的基于永久ID的超链接方案,有多少种方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3249165/

    相关文章:

    以 "vscode:"开头的 HTML 链接,用于在 Visual Studio Code 中打开文件

    链接旁边的 CSS 图像 - 更具体?

    javascript - node.js 中的 GET 请求不起作用

    javascript - Uncaught Error : [$injector:unpr] Unknown provider: dependency1Provider <- dependency1 <- $http <- $compile

    c# - 在多个命名空间中可用的相同扩展类

    javascript - 如何防止命名空间生成?

    Jquery - 内部有链接的 Div 和 jquery.click() 函数

    http - 用于过滤目标源 IP 地址和协议(protocol)的 Wireshark 过滤器

    javascript - 如何在特定的 AJAX 请求中强制使用 HTTP/1.1

    php - 当您在具有命名空间的类的文件名中添加 .class.php 时会出现问题吗?