【问题标题】:Is there a good way to deal with different base URLs for local, testing and production?有没有一种好方法来处理本地、测试和生产的不同基本 URL?
【发布时间】:2013-08-11 18:53:45
【问题描述】:

我想知道是否有人有很好的方法来处理本地、测试和生产环境具有不同 URL 库的情况。

我尝试使用相对地址,但有时这是不可能的。

当我的应用程序的主页从以下位置更改时,我如何防止出现问题:

本地:

http://localhost:8888/mysite/index.php (URL base is /mysite/)

测试:

http://mytestingsite.com/testing/mysite/index.php (URL base is/testing/mysite/)

生产:

http://mysite.com/index.php (URL base is /)

【问题讨论】:

    标签: php git apache workflow


    【解决方案1】:

    使用$_SERVER['SERVER_NAME']switch

    如果它与给定的主机匹配,请定义一个包含您要使用的 URL 库的变量。在 header.php 或某些总是导入的 settings.php 中发生这种情况,并在必要时调用此变量!

    或者,在每个环境中都有一个单独的 settings.php 文件,其中包含预设值,但这需要在每个代码库中进行小的更改。

    【讨论】:

      【解决方案2】:

      您应该在网络服务器中使用虚拟主机以始终将您的基本 URL 设为 /。有关如何执行此操作,请参阅您的网络服务器的文档。

      另一种解决方案是对您的网站进行编程以允许将其保存在任何目录中。这可能包括在您的所有链接前面加上将在您的 index.php 中计算的 $baseurl。不过我强烈推荐第一个解决方案。

      【讨论】:

        猜你喜欢
        • 2023-03-31
        • 2019-07-04
        • 1970-01-01
        • 1970-01-01
        • 2012-12-28
        • 2019-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多