php - 一种使用子域获取相对路径的方法?

标签 php javascript linux

当通过子域访问页面时,所有包含和相对路径都会中断(即使服务器上的目录结构应该允许相对路径找到它)。让多个子域上的文件访问中央资源(不使用绝对路径)的最佳方式是什么?

一个 JavaScript 示例:

m_url : '../code/php/UserAPI.php',

    $.ajax({
        url: someClass.m_url,
        dataType: "json",
        data: paras,
        success: function(ret){someClass.onLoggedIn(ret, callback)}
    });

如果此 UserAPI 是从 subdomain1.example.comsubdomain2.example.com 调用的,但 php 驻留在 example.com 如何可以使相对路径遵循 linux 目录结构,而不是添加尝试连接子域/域路径吗?

附言。 m_url 不能被硬编码的原因是因为代码必须在开发和生产服务器上工作。

一如既往的感谢!!

最佳答案

您可以使用 $_SERVER['PATH_TRANSLATED'] 根据文件系统确定当前位置,然后相对于该位置。但是,它会 require some tweaking to the Apache setup .

也许另一种解决方案是通过 $_SERVER 感知您所在的主机(Dev、Prod 等)并根据需要定义这些路径。然后,只需在定义路径之前设置前缀。当然,它需要几行额外的代码,但它可以将大脑损伤减少一半。该策略已在我工作过的许多大型生产环境中使用。

关于php - 一种使用子域获取相对路径的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3944650/

相关文章:

php - Symfony2 Doctrine - 数据库 - 防止同时访问?

PHP Ajax 上传进度条

php - 与 AWS DynamoDB 通信时的整秒延迟

javascript - Cucumber Js,如果我需要使用给定步骤中的值,最佳实践是什么?

c - 在串行通信的情况下,tcgetattr 的错误 9 是什么

linux - 如何在 Linux 中使用单行命令获取 Java 版本

linux - ../util-linux-2.28.1/schedutils/chrt.c :88:17: error: ‘__NR_sched_setattr’ undeclared (first use in this function)

php - ftp_put() : Command STOR failed

javascript - 在 vue 组件文件中调用 javascript 函数

JavaScript 模块层次结构?