0

我想知道是否有人有很好的方法来处理本地、测试和生产环境具有不同 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 /)
4

2 回答 2

1

使用$_SERVER['SERVER_NAME']和一个switch.

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

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

于 2013-08-11T19:03:43.433 回答
0

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

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

于 2013-08-11T19:55:38.520 回答