【问题标题】:display one page from a site on a different domain name显示来自不同域名的站点的一个页面
【发布时间】:2011-10-03 17:28:25
【问题描述】:

我有一个包含 CMS 等的站点,所有这些都在一个域名下运行。事实证明,出于法律原因,该站点上的一个页面必须位于不同的域名上。该页面与站点的其余部分连接到相同的 CMS(使用 codeigniter 构建)。我不想只为这个页面做另一个安装。

有没有什么简单的方法可以在不同的域名下只显示这个页面而不把它从当前的应用程序中取出来?

非常感谢

【问题讨论】:

  • 是静态页面还是经常变化的页面?
  • 它是动态的。我在想也许重新映射 url 变量并使用 curl 来获取所需的页面可能是最好的选择

标签: php apache codeigniter


【解决方案1】:

尝试包含文件

<?php include 'http://www.domain.com/url/to/file/page.html' ?>

【讨论】:

    【解决方案2】:

    我认为您在这里需要的是一个符号链接,这是我不太了解的东西。我的理解是,显示给用户的路径实际上与文件的实际存储位置没有任何关系,这意味着您可以将其设置为具有完全不同的 URL,同时将其保留为原始应用程序的一部分。

    一个更简单的事情是做一个重定向......它是你的 .htaccess 文件中的一行代码,你很高兴。

    【讨论】:

    • 这样的事情可能会奏效,但是托管平台(即cPanel,甚至在专用服务器上) 将越狱帐户,阻止访问(有充分理由) 到该jailshell'd 帐户home/ 目录之外的本地文件系统。这可以防止符号链接之类的东西起作用。
    • 由于所有页面请求都通过 CodeIgniter 中的单个 php 文件进行路由,这难道不会使整个站点可用吗?
    【解决方案3】:

    include 是一个可能的解决方案,具体取决于远程页面的格式(即,如果远程页面具有完整的 DOM 结构,并且您尝试包含远程CMS 页面的 DOM 结构中的页面),但是需要有关该远程页面的更多信息来帮助确定单独使用 include() 是否足够。

    无论如何,如果include() 有效,您必须确保 php.ini 中的allow_url_include 已启用,因为默认情况下,脚本执行将在遇到远程 URL include 语句时终止。

    【讨论】:

      【解决方案4】:

      你应该看看(按顺序):

      • include()具有正确的 php.ini 配置
      • file_get_content() 并将变量打印到您的页面中
      • &lt;iframe src="yoururl"&gt; 这将是一种简单但不安全的方式
      • 使用临时的curllibrary
      • 使用fopen() 理论上可以打开远程文件,但根据我的经验,它并不那么可靠

      看看this site,你的问题似乎相当详尽。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-24
        • 1970-01-01
        • 1970-01-01
        • 2015-08-04
        • 2023-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多